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

Групповая политика Windows - Могу ли я изменить с помощью VBscript?

Прежде всего, я не эксперт ни в Windows, ни в сценариях групповой политики, но одна из моих задач - настроить машины XP, которые НЕ предназначены для работы в сети. Следовательно, я использовал VBScript для изменения настроек реестра, но теперь у меня есть некоторые настройки в групповой политике, которые я в настоящее время настраиваю вручную, но хочу их написать или каким-то образом автоматизировать.

Может ли кто-нибудь сказать мне, могу ли я внести изменения в групповую политику с помощью VBscript или мне нужно использовать что-то еще?

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

** Дополнительная информация **

Используя gpedit.msc, я вручную установил следующие параметры в графическом интерфейсе:

  1. Конфигурация компьютера> Административные шаблоны> Система> Вход в систему> Всегда ждать сети при запуске компьютера и входе в систему
  2. Конфигурация компьютера> Административные шаблоны> Система> Отключить автозапуск
  3. Конфигурация компьютера> Параметры Windows> Параметры безопасности> Назначение прав пользователя> Доступ к этому компьютеру из сети
  4. Конфигурация компьютера> Параметры Windows> Параметры безопасности> Назначение прав пользователя> Запретить доступ к этому компьютеру из сети
  5. Конфигурация компьютера> Параметры Windows> Параметры безопасности> Назначение прав пользователя> Запретить локальный вход в систему
  6. Конфигурация компьютера> Параметры Windows> Параметры безопасности> Назначение прав пользователя> Локальный вход
  7. Конфигурация компьютера> Параметры Windows> Параметры безопасности> Параметры безопасности> Доступ к сети: общие ресурсы, к которым можно получить доступ из сети.

Я хочу иметь возможность записывать эти изменения с помощью VBScript или других средств (возможно, .NET?)

Я обнаружил, что для некоторых из вышеперечисленных настроек я могу изменить их прямо в реестре, но изменения не видны в редакторе групповой политики (gpedit.msc).

Возможно, да.

Не рекомендуется, потому что поддерживаемый и рекомендуемый способ сделать это - использовать gpedit.msc инструмент (или объекты групповой политики в домене). В результате выполнение этого с помощью сценария в лучшем случае частично документировано, и вы действительно сталкиваетесь с некоторыми странностями, пытаясь.

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

Однако проблема, с которой вы столкнетесь, заключается в том, что эти изменения необходимо сохранить в %SYSTEM ROOT%\System32\GroupPolicy\User\Registry.pol для применения в качестве локальной групповой политики, и я не знаю хорошего сценария для этого, поэтому общий обходной путь - настроить это так, как вы хотите, на втором компьютере и скопировать %SYSTEM ROOT%\System32\GroupPolicy\User папку и файлы на целевые машины.

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

Есть инструмент под названием Редактор реестра GPO который может редактировать / обновлять локальную групповую политику для каждой команды, не перезаписывая все существующие политики (большое преимущество - просто скопировать и вставить Registry.pol). Чтобы сначала использовать этот инструмент, вы можете получить исходный код. GRE написан на AutoItScript. Чтобы создать исполняемый файл, вам необходимо его скомпилировать, например. используя Редактор AutoItScript.

Теперь у вас должен быть gre.exe со следующими параметрами командной строки:

GPO Registry Editor provides read/write capabilities for registry policy files.

Usage:
-a  --add    Add the entry specified by the key, value, type, and data parameters.
-r  --remove Remove the entry specified by the key and value parameters.
-d  --data   Specifies the data of the registry entry.
-f  --file   Specifies the registry file to load or modify.
             Use `computer` or `user` to specify the system policy files.
-k  --key    Specifies the key of the registry entry.
-s  --silent Perform the operation silently (no GUI).
-t  --type   Specifies the type of the registry entry.     
-v  --value  Specifies the value of the registry entry.
-h  --help   Display this message.     
-?  --?      Display this message.

Чтобы выяснить, какие ключи соотв. значения необходимы для установки, вы можете запустить gpedit.msc и установите желаемые настройки. Поскольку gpedit.msc применяет политики напрямую, вы можете открыть regedit.exe и перейдите в HKLM \ SOFTWARE \ Policies соответственно. HKCU \ SOFTWARE \ Policies, чтобы проверить, какой ключ был установлен.

[РЕДАКТИРОВАТЬ] Я нашел инструмент под названием Утилита просмотра Registry.pol который может читать файл политики реестра (Registry.pol), который находится в% SYSTEMROOT% \ System32 \ GroupPolicy \ Machine соответственно. % SYSTEMROOT% \ System32 \ GroupPolicy \ User. Он показывает вам, какие ключи и значения с его данными были применены к групповой политике. Затем это можно легко использовать с gre. [/РЕДАКТИРОВАТЬ]

Например для политики Конфигурация компьютера> Административные шаблоны> Система> Вход в систему> Всегда ждать сети при запуске компьютера и входе в систему можно использовать следующую команду gre:

gre --add -s -f=computer -k="Software\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon" -v="SyncForegroundPolicy" -t REG_DWORD -d="1"

Затем несколько команд gre можно добавить в пакетный сценарий и добавить следующую команду для применения обновленной групповой политики:

gpupdate /force

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