Фон (все эти факты изложены в камне и не могут быть изменены):
- Настройка A применяется ко всем пользователям, КРОМЕ TestGroup
- Все пользователи находятся в одном подразделении
- Нет группы (и я не могу ее создать), в которую входят "все пользователи, КРОМЕ СУЩЕСТВУЕТ TestGroup"
- Мне нужно сделать это с помощью vbscript
- Использование Server 2003
Поэтому, чтобы применить SettingA, мне нужно установить TestGPO (который имеет SettingA) с разрешениями:
- Аутентифицированные пользователи с правом чтения и применения (разрешения по умолчанию)
- TestGroup настроен на запрет «Применить групповую политику».
Я посмотрел на предоставленный Microsoft SetGPOPermissions.wsf (доступно здесь - https://gallery.technet.microsoft.com/group-policy-management-17a5f840), но это касается только базовых разрешений (обратите внимание, что разрешение PermGPORead, хотя у него нет разрешения «Применить групповую политику», все пользователи находятся в разделе «Аутентифицированные пользователи», поэтому здесь можно получить разрешения на применение объектов групповой политики, чтобы это не равнялось запрету)
Я настроил сценарий здесь для своих целей (но сохранил те же имена переменных и т. Д.), И он работает так, как описывает сценарий, но я не могу понять, как заставить его работать с пользовательскими разрешениями. (https://books.google.co.uk/books?id=Ga1nLk_xqcUC&pg=PA430&dq=objGPOlist+item+1+getsecurityinfor&hl=en&sa=X&ved=0ahUKEwj67qq56-baAhUU3YMKHURTA1kQ6AEILTAA#v=onepage&q=objGPOlist%20item%201%20getsecurityinfor&f=false)
Когда дело доходит до следующей строки, я вижу, что в конце я могу изменить метод / свойство с «PermGPOApply» на «PermGPOCustom», но я не могу найти примеры того, что я мог бы здесь вставить.
set objGPMPerm =
objGPM.CreatePermissions(strGroupAdd,objGPMConstants.PermGPOApply, False)
Следуя этой строке из скрипта:
setObjsecurityinfo = objGPOlist.item(1).GetSecurityInfo()
Я добавил следующее, адаптированное из DumpGPOInfo.wsf (https://gallery.technet.microsoft.com/group-policy-management-17a5f840):
For each GPOPermission in objSecurityInfo
wscript.echo "GPO trustee is: " & GPOPermission.Trustee.Trusteename
wscript.echo "GPO permission is: " & GPOPermission.Permission
Next
И из этого я вижу, что разрешение «Пользовательский» отображается как 65795. Однако это не определяет конкретное настраиваемое разрешение, а скорее любое разрешение, которое не попадает в скобки «чтение» или «редактирование» - так Чтение, выполнение, редактирование и запрет «Применить групповую политику» будут отображаться как 65795, так же как и просто «Запретить применение групповой политики». Другими словами, это бесполезно для меня.
Я нашел дразнящую ссылку на то, как устанавливать разрешения на следующем веб-сайте, но потом не смог найти больше полезной информации по этой ссылке.
«Чтобы установить разрешения« Запретить »или« Пользовательские »для этих объектов, вам все равно необходимо использовать интерфейсы служб Active Directory - ADSI - инструменты, такие как IADsSecurityDescriptor или Microsoft adssecurity.dll.» (http://www.itprotoday.com/management-mobility/scripting-group-policy-permissions)
Итак, в итоге:
Кто-нибудь может посоветовать, как использовать vbscript для настройки объекта групповой политики, чтобы запретить «Применить групповую политику» для указанной группы. Спасибо!