Как запустить программу через vbs script

Я хочу запустить свой простой скрипт VBS после запуска ПК (Win XP). Я не хочу помещать этот скрипт в C:Documents and Settings%UserName%Start MenuProgramsStartup Я хочу сделать это в сценарии, это возможно?

Script:
Dim oShell
Set oShell = WScript.CreateObject («WScript.Shell»)
oShell.run «notepad.exe c:text.txt»
задан 04 дек.

ПК присоединен к домену? Если да, то не могли бы вы использовать сетевую политику/сценарий входа в систему? — Andrew

6 ответы

Вам придется либо поместить его в папку автозагрузки, либо запустить из реестра. Для всех пользователей используйте раздел реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun . Для текущего пользователя используйте ключ реестра HKCUSOFTWAREMicrosoftWindowsCurrentVersionRun

ответ дан 05 дек ’12, 14:12
вопрос как запускать vbs скрипт при запуске не откуда — Hichem

  • Нажмите Start -> Run -> cmd или нажмите search и введите cmd
  • Нажмите Ввод
  • Тип assoc .vbs в командной строке, которая должна печатать .vbs=VBSFile
  • Тип ftype VBSFile в командной строке

который должен напечатать:

How to create and execute a Visual Basic Script (VBS)


vbsfile=»%SystemRoot%System32WScript.exe» «%1» %*

Итак, теперь вы знаете, что ваши файлы vbscript по умолчанию открываются с помощью WScript.

  • В командной строке введите: reg-запрос HKEY_CLASSES_ROOTApplicationsWScript.exe /s

Если вы этого не видите:

HKEY_CLASSES_ROOTApplicationsWScript.exe (Standard) REG_SZ «%SystemRoot%System32WScript.exe» «%1» %*

Затем вам нужно сделать следующее, если выше, что вы видите, то вы можете пропустить и перейти к шаг 3:

  • Перейти к: Start Run
  • Печатать: regedit
  • Выберите regedit нажмите enter (или дважды щелкните regedit) и разрешите программе вносить изменения в ваш компьютер.
  • Перейдите к:

HKEY_CLASSES_ROOTApplicationsWScript.exe (Если ключ WScript.exe не существует, щелкните правой кнопкой мыши Приложения и создайте новый ключ, переименуйте его в WScript.exe)

  • В пустом месте справа, где есть значения, щелкните правой кнопкой мыши и
  • Выбрать новый
  • Выберите строковое значение
  • В разделе «Имя», где выделено «Новое значение № 1», переименуйте, введя (Стандартный)
  • В разделе «Данные» дважды щелкните пустое значение и введите значение, полученное на предыдущем шаге.
  • Если у вас не открыт regedit,

regedit

Выберите приложение, нажмите Enter и позвольте программе внести изменения в ваш компьютер.

  • В противном случае, если regedit открыт, то:
  • Перейдите к:

HKEY_CURRENT_USER SOFTWARE Microsoft Windows CurrentVersion Run

  • Щелкните правой кнопкой мыши папку запуска
  • в пустом месте справа, где стоят значения, щелкнуть правой кнопкой мыши и выбрать новый
  • Выберите расширяемое строковое значение
  • В разделе «Имя», где выделено «Новое значение № 1», переименуйте, введя свое имя, например, myscript.
  • в разделе Данные дважды щелкните пустое значение и введите это
  • Убедитесь, что его тип REG_EXPAND_SZ, т.е. расширенная строка

«%SystemRoot%System32WScript.exe» «C:UsersmemyFoldermySub-foldermyFile.vbs» «%1» %*

  • Перезагрузите машину. Ваш vbs должен запускаться автоматически
  • убедитесь, что .VBS добавлен в переменную окружения Path
  • если вы хотите вместо этого использовать cscript, на шаге 2 введите: reg-запрос HKEY_CLASSES_ROOTApplicationscscript.exe /s

. вместо этого и продолжайте, принимая во внимание замену WScript на cscript, где это уместно, то есть этот запрос:

reg query HKEY_CLASSES_ROOTApplicationscscript.exe /s

Должен дать такой результат:

(Standard) REG_SZ «C:WindowsSystem32cscript.exe» «%1» %*

  • Если ваш ключ и/или значение перепутаны, вы всегда можете щелкнуть правой кнопкой мыши по испорченному элементу и удалить его. Однако, если вы хотите использовать терминал, вы всегда можете следовать: http://ss64.com/nt/reg.html
  • Чтобы проверить, является ли WScript одним из запускаемых приложений, нажмите ctrl+alt+delete, выберите «Диспетчер задач», нажмите «Автозагрузка». Вы должны увидеть в списке хост сценариев Microsoft Windows.

Прежде всего, спасибо за действительно ясный ответ! Я следил за вашим ответом до шага 2 (создать новый). я получил сообщение об ошибке Cannot create value: Error writing to the registry . PS: Я попытался поместить свой файл VBs в путь запуска, но потребовал учетную запись администратора, которой у меня нет. Любая идея, что еще я могу сделать, чтобы запустить файл при запуске? — ааа

Привет, возможно, ваша компания, например, любой мой клиент никогда бы не предоставил полные права администратора сотрудникам, чтобы они могли изменять поведение машины. Если вы хотите продолжить это, вам придется попросить разрешения у владельца этого ноутбука или, если это ваш собственный ноутбук, вам нужно будет изменить разрешения, что является другой темой — iOSAndroidWindowsMobileAppsDev

Просто назначение, наверное, все уже знают.

HKLM предназначен для любого пользователя на машине, потому что означает локальную машину

HKCU предназначен только для текущего пользователя.

ответ дан 04 дек ’12, 21:12

Источник: stackovergo.com

Запуск сценариев (wscript.exe и cscript.exe)

Информатика, информационные технологии

Цель: Овладеть навыками работы сервером сценариев ОС Windows, изучить возможности сервера сценариев, режимы выполнения сценариев и методы объекта WscriptShell иWshNetwork.

Долгое время для выполнения однотипных задач в среде Windows и DOS служили командные (пакетные) BAT-файлы. Основным их недостатком были примитивный DOS-интерфейс – отсутствие интерактивности, и довольно ограниченные возможности по работе с WINDOWS (трудность работы в сети, с ярлыками, с реестром и т.д.).

Ситуация изменилась, когда Microsoft разработала Сервер Сценариев (Windows Scripting Host), который должен служить для автоматизации работы с повторяющимися процессами. Сам Windows Scripting Host не является языком как таковым, он только представляет свойства и методы для работы в Windows, которые могут использоваться другими языками сценариев. Наиболее удобными и предназначенными для этого явились ранее разработанные самой Microsoft языки сценариев Visual Basic Scripting Edition (VBScript) и JScript.

Читайте также:
Программа yclients инструкция для администратора

Раньше языки VBScript и JScript по своим возможностям были очень близки к Visual Basic for Applications — они также могли быть вызваны только из MS Internet Explorer и нескольких других программ Microsoft, которые их поддерживали.

С появлением Windows Scripting Host появилась возможность создавать для них отдельные сценарии, которые можно запускать и без Internet Explorer.

Также преимуществом Windows Scripting Host является то, что для запуска сценариев требуется мало памяти и то, что файлы сценариев могут быть практически любого размера (содержать десятки тысяч строк).

Еще одним преимуществом Windows Scripting Host является отсутствие среды разработки — не нужны компиляторы, редактирование сценариев может производиться в любом текстовом редакторе, способном работать с текстовыми файлами.

Сервер сценариев предназначен для автоматизации повторяющихся задач и во многом, по сравнению с обычными языками программирования, обладает достаточно скромными возможностями. Но по сравнению с пакетными файлами DOS он обладает более широкими возможностями. Такими как:

— вывод сообщений на экран;

— запуск других программ;

— работать с сетевыми дисками;

— работать с переменными среды;

— работать с реестром.

В Windows 2000 и последующих версиях Windows Scripting Host установлен по умолчанию. Отключить его использование можно только удалением ассоциаций с его файлами. Установленный Windows Script Host поддерживает несколько видов файлов: vbs, vbe, js, jse, wsf, wsc и wsh. Все они (кроме vbe и jse) являются простыми текстовыми файлами и могут редактироваться в любом текстовом редакторе.

Файлы .vbs и .js являются файлами, написанными на языке сценариев MS Visual Basic Script и MS JScript соответственно.

Файлы vbe и jse– это vbs и js-файлы зашифрованные с помощью программы MS Script Encoder.

Файлы с расширением .wsf – это файлы, содержащие XML-разметку для работы с WSH.

Файлы wsc — Windows Script Components (WSC) позволяют упаковывать сценарии для использования их в качестве СОМ-компонентов. По сути, это те же wsf-файлы, еще и содержащие COM-компоненты.

Файлы wsh являются файлами настроек Сервера Сценариев.

Запуск сценариев (WScript.exe и CScript.exe)

Для запуска сценариев, в составе Windows Scripting Host служат файлы WScript.exe (диалоговый режим) и CScript.exe (режим командной строки). Они находятся в каталоге C:WINDOWSsystem32.

WScript.exe служит для запуска сценариев из Windows. Используя его, вы можете запускать сценарии подобно обычным приложениям Windows. Вот несколько способов:

1. Запускать сценарий, как обычное приложение двойным щелчком мыши, выделить и нажать Enter и т.д.

2. Ввести имя файла сценария и путь к нему в окне в окне “Выполнить” (RUN) меню “Пуск” (Start).

3. Ввести в строку окна “Выполнить” WScript.exe и имя файла сценария (с указанием пути к нему). При этом вы можете использовать параметры запуска WScript.exe.

CScript.exe — это версия Windows Scripting Host, которая используется для запуска сценариев из командной строки.

CScript [параметры] имя_файла.расширение [аргументы]

Для запуска сценариев, как с помощью CScript.exe так и с WScript.exe, можно использовать следующие параметры командной строки:

Параметр Версия WSH Описание
//B 1.0 Пакетный режим (подавляется вывод информации, запросов и сообщений об ошибках)
//D 2.0 Включить активную отладку
//E:язык 2.0 Указать язык сценария для исполнения файла
//H:CScript 1.0 Заменить исполняемый сервер сценариев на CScript.exe
//H:WScript 1.0 Заменить исполняемый сервер сценариев на WScript.exe
//I 1.0 Диалоговый режим (противоположный //B) (по умолчанию)
//Job:xxxx 2.0 Выполнить задание xxxx WSF-файла
//Logo 1.0 Отображать заставку (по умолчанию)
//Nologo 1.0 Не выводить заставку
//S 1.0 Запомнить параметры текущей командной строки для данного пользователя
//T:nn 1.0 Задать время исполнения сценария в секундах
//X 2.0 Выполнить сценарий под отладчиком
//U 2.0 Применять кодировку Unicode для перенаправленного консольного ввода-вывода

Cscript //T:10 Пример1.vbs

Отвести на выполнение сценария Пример1.vbs 10 секунд времени.

Попробуем сделать используемым сервером сценариев по умолчанию CScript.exe.

Для этого введем в командной строке:

С этого момента, все сценарии будут запускаться в режиме командной строки. Для многих сценариев выводящих информацию это будет несколько неудобно.

Попробуем снова запустить сценарий VBScript Пример1.vbs.

Прочитать надпись практически невозможно, поскольку окно быстро “промелькнет” на экране.

Чтобы снова сделать сервером по умолчанию WScript.exe, введем в командную строку:

И снова запускаемые файлы сценариев по умолчанию запускаются в диалоговом режиме.

Какой способ лучше, нельзя сказать однозначно. У каждого есть свои плюсы и минусы. В пользу WScript.exe говорит его интерактивность. В пользу CScript.exe – незаметность для пользователя. Хотя для незаметности лучше всего включить пакетный режим с параметром //b.

Статьи к прочтению:

  • Запуск выполнения приложения на пк
  • Защита доступа к компьютеру

Introduction to scripting for systems administrators — Windows Scripting Host, part 1

Похожие статьи:

  • Запуск программ и документов Запускать программы на выполнение или документы на обработку можно следующими способами: — двойным щелчком (или одинарным щелчком, если в Windows 98 Вы…
  • Запуск прикладных программ Стандартный способ запуска любой программы состоит из ряда шагов: поиск названия программы (ярлыка программы) в Главном меню и щелчок левой клавишей мыши…

Источник: csaa.ru

Как запустить скрипт vbs из командной строки. Запуск процесса на удалённом компьютере – VBS Remote Scripting

Создал обширную программу пакетного сценария для обработки некоторого автоматизированного управления файлами и печати, и мне нужно вызвать файл vbs для его операции sendkeys. Есть ли способ сделать это без замораживания программы?

Читайте также:
Определение уровня шума относится к программе мониторинга

Я пробовал START / WAIT my.vbs, и скрипт зависает, когда он входит в.vbs

У кого-нибудь есть другие методы или переключатели, которые вы бы порекомендовали?

Я бы хотел, чтобы он работал тихо, если это вообще возможно, и мне нужен переключатель / WAIT, потому что мне нужна операция sendkeys для завершения до следующего шага в пакетном файле.

таймаут 5 таймаут /?

Описание: Эта утилита принимает параметр тайм-аута для ожидания указанного периода времени (в секундах) или до нажатия любой клавиши. Он также принимает параметр для игнорирования нажатия клавиши.

Список параметров: / T timeout Указывает количество секунд ожидания. Допустимый диапазон: от -1 до 99999 секунд.

/ NOBREAK Ignore key presses and wait specified time . /? Displays this help message .

ПРИМЕЧАНИЕ. Значение тайм-аута -1 означает бесконечное ожидание нажатия клавиши.

TIMEOUT /? TIMEOUT / T 10 TIMEOUT / T 300 / NOBREAK TIMEOUT / T — 1

Просто позвоните Правильный путь файла vbs

Файл BAT Edit it . .

wscript » file-path «

wscript » D: KmaniZoro PGM N ++ VBS inputbox.vbs «

Это очень старый вопрос, но существующие ответы являются возмутительно неопределенными и / или не могут идентифицировать наиболее важные вещи, когда они не просто ошибаются. Не собираюсь повторять то, что уже есть другие ответы, но из других ответов отсутствуют следующие отличия:

Области применения

Код VBScript не нуждается в процедурных областях: он может быть записан как скрипт , который просто выполняет кучу процедурных операций сверху вниз.

В исполняемых операциях VB6 / VBA могут существовать только внутренние области процедур.

Типы

В VBScript все (переменные, возвращаемые значения функции и т. Д.) — это Variant (т. Е. Почти утка , как в JavaScript). При объявлении переменной запрещено объявлять явный тип. Ключевое слово As запрещено!

В VB6 / VBA все по умолчанию используется неявным Variant , но хороший код VB6 / VBA использует явные типы, где это применимо.

7. Работа с окнами и приложениями

Запуск внешних приложений из скрипта VBScript, применение объекта WshShell, методы Run(), AppActivate(), SendKeys()

7.1 Возможности объекта Wscript.Shell

Запуск приложения производится при помощи объекта WScript .Shell . Первая строка для работы с этим объектом выглядит как

Dim WshShell

set WshShell = WScript.CreateObject(«WScript.Shell»)

Сам запуск производится при помощи метода Run :

WshShell .Run «Имя_приложения»

Необязательные параметры: цифра (1-10) — вид диалогового окна, true /false — приостанавливать выполнение скрипта пока не завершится работа программы или нет.

Обычно существует две ситуации, когда нам нужно запустить приложения из скрипта:

1) запускаем утилиты командной строки (например, из Resource Kit ) и нам нужно получить то, что они возвращают

2) запускаем графическое приложение и передаем туда нажатия клавиш

При запуске утилиты командной строки обратить внимание на следующие моменты:

o если нам нужно возвращать код ошибки , делаем это следующим образом:

sReturn = WshShell.Run(«ping » 192.168.1.2″, 1, TRUE)

обязательно должно стоять ключевое слово TRUE , иначе возвращаемый код всегда будет 0;

o если нужно получить вывод от утилиты, записываем его при помощи > в текстовый файл, затем открываем на чтение при помощи FSO , скачиваем в переменную и удаляем. В переменной можно искать значение при помощи функции inStr (не найдено — 0, найдено — значение, отличное от 0).

o если используете не исполняемые файлы, а команды интерпретатора (DIR , CD , MD и т.п.), то команда на запуск должна выглядеть как

WshShell.Run(«%COMSPEC% /K dir»)

%COMSPEC % — чтобы не выяснять, какой командный интерпретатор работает, /K — чтобы не закрывалось окно командного интерпретатора.

o для того, чтобы не зависеть от наличия утилит на компьютере пользователя, есть смысл выложить используемые утилиты на сервер в сети и обращаться к ним по сетевому имени;

o для того, чтобы запустить утилиту с измененным приоритетом, можно использовать команду интерпретатора Start .

При запуске графического приложения обычно есть необходимость передать в него нажатия клавиш. Для этой цели используются методы AppActivate (передача фокуса окну приложения) и SendKeys (передать нажатия клавиш)

Метод AppActivate позволяет передать фокус приложению. Ему передается заголовок окна приложения:

WshShell.Run «calc»

WScript.Sleep (200)

WshShell.AppActivate «Calculator»

WScript.Sleep (200)

Будьте внимательны — заголовок окна может быть разным! Поэтому лучше использовать централизованные копии своих приложений на сервере. Кроме того, желательно делать паузы после запуска приложения и передачи ему фокуса, чтобы операция успела выполниться

WshShell .SendKeys («1»);

WScript.Sleep(500);

WshShell.SendKeys(«2»);

WScript.Sleep(500);

WshShell .SendKeys («~»);

Подробное описание того, как передавать нажатия тех или иных клавиш методом SendKeys — в документации.

Запустите файл с расширением *.vbs двойным кликом мыши или вызовите его по имени в консоли. Для этого зайдите в меню пуск/выполнить и наберите путь к необходимому файлу в открывшемся окошке. Это самый обычный текстовый документ, который легко можно править в . Данный метод самый понятный и простой, но иногда в силу определенных обстоятельств он не срабатывает (система не поддерживает формат, слетела кодировка и т.д.).

Если файл с расширением *.vbs , проверьте наличие интерпретаторов языка VBS. Их в системе должно быть два: консольный CScript и оконный WScript (вместе они – Windows Script Host или WSH). Они, по идее, должны сразу устанавливаться вместе с системой, но иногда так получается, что они либо повреждены, либо вообще не установлены (может быть на старых версиях систем). Если интерпретаторов нет в наличии, установите их на свой компьютер и запустите скрипт двойным щелчком мыши.

Читайте также:
Программа чтобы видеть монитор другого

Создайте обыкновенный текстовый файл с расширением txt. Скопируйте туда данный текст:Sub Run(ByVal sFile)Dim shellSet shell = CreateObject(«WScript.Shell»)shell.Run Chr(34) Chr(34), 1, falseSet shell = NothingEnd SubRun «C:/Program Files/FileZilla FTP Client/filezilla.exe»Естественно, путь заменяете своим исполняемым файлом. Затем переименуйте созданный ранее txt-файл на vbs расширение. Для проверки щелкните два раза по нему мышкой, и по указанному пути запустится программа.

Для того чтобы обратиться к методу Windows Script Host, укажите объект и метод с нужными параметрами (через точку). Свойства WSH указываете также, но их можно и назначать и считывать в переменные и остальные свойства. Всегда учитывайте тип данных свойств и переменных, в противном случае сценарий будет выдавать ошибку о несовместимости типов данных.

Написать или подобрать полезный веб-скрипт – это полдела, надо ещё найти способ его выполнить. Давайте рассмотрим подробнее, что нужно для исполнения наиболее распространённых типов скрипт ов.

Обязательным условием выполнения любого скрипт а (то есть сценария), естественно, является наличие самого исполнителя. Применительно к языкам -программирования таким исполнителем будет интерпретатор скрипт ового языка.

В зависимости от того, где должен исполняться сценарий, интерпретатор языка может быть либо частью серверного программного обеспечения, либо частью программного кода браузера. Поэтому чтобы выполнить любой серверный скрипт (например, php- или perl-скрипт ) необходимо иметь запущенный сервер.

Сервер можно подобрать в сети и у себя в . Очень популярен, к примеру, среди русскоязычных программистов из-за своей относительной простоты и бесплатности серверного программного обеспечения под названием «Денвер». А можно не морочиться с установкой у себя, а воспользоваться услугами хостинг-провайдера. Провайдер даст вам доступ к , а все заботы по его поддержанию и обслуживанию вас не будут касаться. Обычно такие платны, но не дороги.

По- обстоит дело с «клиентскими» скрипт ами. Это сценарии, которые должны выполняться прямо в . Чтобы выполнить такой скрипт , написанный, например, на языке JavaScript кроме браузера да простого текстового редактора (подойдёт стандартный блокнот) ничего больше не требуется. Вот, к примеру, простейший скрипт : var now = new Date();
document.write («Этот скрипт выплнен в » + now.getHours() + » часов » + now.getMinutes() + » минут»);Чтобы его выполнить, достаточно сохранить этот код в файле с расширением html (например, test.html) а затем запустить двойным щелчком мыши. Расширение html (HyperText Markup Language — «язык разметки гипертекста») в операционной системе зарезервировано за файлами, содержащими веб-страницы. Поэтому ОС запустит ваш браузер и передаст ему адрес этого файла, а браузер распознает скрипт , прочтёт и выполнит его сценарий. В результате мы увидим

Да, как ни странно у VBScript (точнее у Windows Scripting Host) тоже есть возможности запуска скриптов на удалённых компьютерах. Правда эта функция не получила большой популярности, и скорее всего из за того что требует немало подготовительных мероприятий, которые крайне плохо документированы.

Итак, для запуска скрипта на другом компьютере с помощью VBS нам понадобится:

  1. Права администратора на удалённом компьютере. Ну это само собой разумеется, и требуется почти во всех методах запуска которые я перечислял в блоге.
  2. Разрешить WSH Remote Scripting создав строковой параметр Remote равный “1” в ключе реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows Script HostSettings
  3. Из за бага , на системах с Windows XP необходимо выполнить команду wscript –regserver. В SP3 ошибка вроде как исправлена.
  4. Необходимо отключить Firewall (или разрешить обращения к DCOM в исключениях) на обоих компьютерах. Да, да, и на том с которого запускаете сценарий, тоже (спасибо Косте Леоньтеву, я бы не догадался )
  5. В системах XP SP2 и выше необходимо изменить параметры безопасности (это можно сделать с помощью групповой политики). В узле Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity Options меняем разрешения следующим образом:
  1. DCOM: Machine Access Restrictions in Security Descriptor Definition Language (SDDL) syntax
    Выдать группам Anonymous Logon и Everyone разрешения Allow Local и Allow Remote Access
  2. DCOM: Machine Launch Restrictions in Security Descriptor Definition Language (SDDL) syntax
    Группе Administrators разрешения Allow Local Launch, Allow Remote Launch, Allow Local Activation, Allow Remote Activation
    Группе Everyone – Allow Local Launch, Allow Local Activation.

Всё! Теперь можно пользоваться

Для примера создадим сценарий c:test.vbs (он будет запущен на удалённом компьютере):

Set objFSO = CreateObject(«Scripting.FileSystemObject») Set objTSOut = objFSO.CreateTextFile(«C:log.txt», True) objTSOut.WriteLine «Script executed» objTSOut.Close

Ну и самое главное – сценарий который будет непосредственно запускать файл на удалённом компьютере, RunRemoteScript.vbs:

Set objController = CreateObject(«WshController») Set objRemoteScript = objController.CreateScript(«C:test.vbs», «computer1») WScript.ConnectObject objRemoteScript, «remote_» objRemoteScript.Execute Do While objRemoteScript.Status <> 1 WScript.Sleep 1000 Loop MsgBox «Script complete» Sub remote_Error Dim objError Set objError = objRemoteScript.Error WScript.Echo «Error — Line: » _ «, Char: » vbCrLf Description: » #128521; И то, в результате у меня получилось выполнить сценарий лишь на машине с Windows XP (SP3). На компьютере с Vista ничего не получилось – возможно нужны какие то дополнительные пункты чтобы обойти новые усовершенствования безопасности Так что если у вас вдруг возникли какие то проблемы с этой штукой – google вам в руки и удачи

Источник: rustrackers.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru