Я использую модуль powershell GroupPolicy для создания и связывания новых объектов групповой политики. У меня есть большое количество объектов групповой политики, и поэтому я хочу автоматизировать процесс, не взаимодействуя с редактором групповой политики.
При создании объектов групповой политики через редактор я заметил, что каждый объект политики будет содержаться в одном или нескольких файлах XML или INI-файлах.
Как отмечалось выше, я начал создавать объекты групповой политики с помощью команды New-GPO, передавая флаги -Name и -Domain. После того, как объект групповой политики был успешно создан, я (через мой скрипт) сгенерировал бы файл XML, содержащий всю информацию, которую будет использовать политика. Ниже показан фрагмент XML-файла, который я создал бы для настройки политики подключенных дисков.
При проверке политики в редакторе все выглядит нормально. Отображаются правильные диски, и все настройки кажутся правильными. Однако политика никогда не применяется. Если я создаю идентичную политику вручную с помощью редактора групповой политики, все политики начинают работать, включая те, которые я создал с powershell.
Таким образом, ошибка, по-видимому, заключается в том, что контроллер домена никогда не уведомляется об изменениях, но они применяются, когда вносятся изменения вручную.
Я попытался запустить gpupdate / force, который, похоже, не обновляет и не распространяет изменения
New-Item \\$($MappedDrivesGPO.DomainName)\SYSVOL\$($MappedDrivesGPO.DomainName)\Policies\$("{"+$MappedDrivesGPO.Id+"}")\User\Preferences\Drives\Drives.xml -ItemType File -Force
Set-Content \\$($MappedDrivesGPO.DomainName)\SYSVOL\$($MappedDrivesGPO.DomainName)\Policies\$("{"+$MappedDrivesGPO.Id+"}")\User\Preferences\Drives\Drives.xml $xml
<?xml version="1.0" encoding="utf-8"?>
<Drives clsid="{8FDDCC1A-0C3C-43cd-A6B4-71A6DF20DA8C}">
<Drive clsid="{935D1B74-9CB8-4e3c-9914-7DD559B7A417}" name="P:" status="P:" image="2" changed="2019-04-26 10:41:54" uid="{$guid1}" bypassErrors="1">
<Properties action="U" thisDrive="NOCHANGE" allDrives="NOCHANGE" userName="" path="\\fs1\Projects" label="Projects" persistent="0" useLetter="1" letter="P"/>
<Filters>
<FilterGroup bool="AND" not="0" name="$($domainName)\Drive P Access" sid="$($filterGroupSidDriveP)" userContext="1" primaryGroup="0" localGroup="0"/>
</Filters>
</Drive>
<Drive clsid="{935D1B74-9CB8-4e3c-9914-7DD559B7A417}" name="S:" status="S:" image="2" changed="2019-04-26 10:39:21" uid="{$guid2}" bypassErrors="1">
<Properties action="U" thisDrive="NOCHANGE" allDrives="NOCHANGE" userName="" path="\\as1\Software" label="Software" persistent="0" useLetter="1" letter="S"/>
<Filters>
<FilterGroup bool="AND" not="0" name="$($domainName)\Drive S Access" sid="$($filterGroupSidDriveS)" userContext="1" primaryGroup="0" localGroup="0"/>
</Filters>
</Drive>
</Drives>
Я ожидал, что политика начнет работать должным образом после создания XML-файла
Фактический результат заключается в том, что политика выглядит правильно сформированной, но никогда не применяется