Назад | Перейти на главную страницу

Использование GPO для однократного запуска командного файла

Возможно ли, что я смогу настроить список объектов групповой политики для вновь установленных компьютеров с большим количеством командных файлов (в основном, перемещение файлов), и они будут запускаться только один раз и никогда больше?

Я новичок в этом и не нашел хороших решений по этому поводу. Каждая помощь на счету :) Спасибо

В HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce Раздел реестра был бы наиболее естественным местом для размещения элементов, которые вы хотите запустить только один раз, потому что команда удаляется из этого списка при запуске. Однако редактирование реестра с использованием настроек групповой политики может быть несколько обременительным.

Вы также можете использовать настройки групповой политики для развертывания немедленной (запланированной) задачи, которая запускается один раз, а затем удаляется. Немедленная задача похожа на стандартную запланированную задачу, поэтому в одной задаче можно выполнять несколько действий. Есть флажок «Применить один раз и не применять повторно», который означает, что его можно применить (и, следовательно, существовать) только один раз.


Настройте элемент реестра: http://technet.microsoft.com/en-us/library/cc753092.aspx

Настроить немедленную задачу: http://technet.microsoft.com/en-us/library/dd851779.aspx


Дополнительное примечание

Этот вариант подходит только для клиентских версий Windows Vista и выше, а также для клиентов Windows XP с Расширения на стороне клиента GPP патч установлен. Я очень рекомендую его использовать.

Я называю такие вещи GPO «лазейками» и делаю это достаточно часто (например, для работы с компьютерами, недавно присоединенными к домену). Если у меня есть сценарий, который я хочу выполнить один и только один раз на клиентах, я обычно делаю это:

  • Создайте группу в AD «Сценарий лазейки уже выполнен» и предоставьте права «Компьютеры домена», разрешающие им «Все проверенные записи» и «Записывать участников» (разрешение, зависящее от свойства).

  • Создайте мой сценарий запуска и добавьте net group "Trapdoor Script Already Executed" /domain /add %computername%$ в конце сценария

  • Создайте объект групповой политики, ссылающийся на мой сценарий запуска, и добавьте в объект групповой политики разрешение «Сценарий скрытой двери уже выполнен» / «Запретить применение групповой политики».

Это приводит к тому, что машины добавляются в группу «Сценарий Trapdoor Already Executed» после того, как они выполнили сценарий, и при будущих загрузках им отказывают в праве на повторное выполнение сценария.

Редактировать:

Эта стратегия работает очень плохо, когда клиентские компьютеры не удаляются из групп, но иным образом переделываются или перенаправляются, и им необходимо снова запустить сценарий «лазейки».

В таких случаях я предпочитаю записывать в реестр "канарейечное" значение, которое сценарий может проверить простым REG QUERY и залог на errorlevel если значение найдено. Обратной стороной такого подхода является то, что сценарий выполняется при каждой загрузке (тогда как ограничение приложения GPO через членство в группе предотвращает выполнение сценария и требует времени при каждой загрузке). Теоретически вы можете использовать фильтрацию WMI для нацеливания на GPO на основе значений реестра, но в прошлом производительность фильтрации WMI на основе значений реестра была КАКОЙ УЖАС.

Я добился успеха со стратегией "группы лазейки", когда я могу заставить технических специалистов Удалить компьютеры из AD и повторно присоединяются к ним при «переработке» их, вместо того, чтобы просто сохранять объект-компьютер и его членство в группах. Это сложная задача, но это единственный способ, который я мог придумать, который не требует штрафов за выполнение скрипта при каждой загрузке.

пожалуйста, сначала прочтите Эта статья полный.

Примечание 1. Загрузите и установите GPMC и

Примечание 2: еще один ответ, который полезен только в Windows 8 здесь: Импорт и экспорт начальных объектов групповой политики