GPO не применяется - PullRequest
       32

GPO не применяется

0 голосов
/ 21 мая 2019

Я использую модуль 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-файла

Фактический результат заключается в том, что политика выглядит правильно сформированной, но никогда не применяется

1 Ответ

0 голосов
/ 27 мая 2019

Мне удалось решить это самостоятельно, разместив сообщение здесь на случай, если кто-то столкнется с той же проблемой.Если вы создаете объекты групповой политики программно, а не с помощью редактора, вам придется расширить свой сценарий / программу, добавив CSE (в данном случае для сопоставления дисков) и GUID SnapIn к gPCUserExtensionNames.

[{00000000-0000-0000-0000-000000000000}{2EA1A81B-48E5-45E9-8BB7-A6E3AC170006}][{5794DAFD-BE60-433F-88A2-1A31939AC01F}{2EA1A81B-48E5-45E9-8BB7-A6E3AC170006}]

0000.. является ядром GPO Engine, 23EA .. является инструментом предпочтений CSE GUID Drives, 5794 .. является Preference CSE GUID Drives.

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

...