Есть ли хороший способ автоматизировать установку сценариев локального запуска (а не входа в систему) в Windows XP и Windows 7 через командную строку, WMI, COM или иначе (даже Win32, если до этого дойдет)?
Мне нужно настроить локальный сценарий запуска на большом количестве компьютеров, и, к сожалению, Active Directory абсолютно не подходит. Я хотел бы написать сценарий или небольшую программу, которую я мог бы запускать на каждом компьютере для выполнения установки сценария запуска, чтобы сэкономить много ручного труда, подверженного ошибкам.
Я вижу, что когда кто-то использует gpedit.msc
для создания локального сценария запуска информация о сценарии сохраняется в реестре здесь:
HKLM\Software\Policies\Microsoft\Windows\System\Scripts\Startup
Однако, если вы создадите такой сценарий, а затем удалите его раздел реестра, сценарий останется в списке в редакторе локальной групповой политики; как это часто бывает в Windows, очевидно, что там происходит больше, чем кажется на первый взгляд. Это заставляет меня задаться вопросом, безопасно ли вручную добавлять сюда подключи для новых сценариев запуска (например, я бы не хотел, чтобы мой сценарий был перезаписан более поздними изменениями, внесенными с помощью редактора локальной групповой политики) ...
Еще один вариант, который пришел мне в голову, - создать элемент в планировщике задач, настроенный для запуска при запуске системы. Однако меня беспокоит двоякое:
Можно ли это еще проще автоматизировать? Например, at
команда не позволяет вам запланировать задачу для запуска системы, а WMI Win32_ScheduledJob
интерфейс выглядит ненадежным (во-первых, он не отображает ни одной из моих запланированных задач).
Смогу ли я запретить пользователям входить в систему до завершения запланированной задачи запуска, как это можно сделать с помощью «обычных» сценариев запуска Windows?
Заранее спасибо за любые предложения, я уже немного бился головой об этот ...
Создайте запланированную задачу, которая запускается при запуске системы. Автоматизируйте это с помощью SCHTASKS.EXE. Вам нужен тип расписания ONSTART.
Я так и не нашел чистого решения этой проблемы. Следующий подход запутан, но для моих целей он сработал:
http://www.office-outlook.com/outlook-forum/index.php/m/626059
Попробуйте скопировать две папки в C: \ Windows \ System32 \ GroupPolicy на новый компьютер, перезагрузитесь и запустите gpupdate /force
Если вы хотите попробовать запланированный способ задачи, используйте Schtasks
. Это надежнее, чем at
и можете позволить вам выбрать вариант входа в систему. Однако перед входом в систему он не дожидается завершения.