C#, создать объект групповой политики и связать его с OU с помощью Microsoft.GroupPolicy.Management?

Я провел тщательное исследование и попытался решить свою проблему. 3 дня гуглил и спрашивал теперь, я закончил с этим:

using Microsoft.GroupPolicy;

private void ManipulateGPO(){
    GPDomain domain = new GPDomain("sh.dom");
    Gpo gpo_background = domain.CreateGpo("testingGPO");
}

приведенный выше код успешно создает объект групповой политики. но мне нужно связать его с OU?

любая помощь будет оценена.

ОБНОВЛЕНИЕ 1: Снимок экрана моего объекта групповой политики


person Khaled Rakhisi    schedule 07.08.2017    source источник


Ответы (1)


Вы используете класс SOM (Scope of Management) для связи с OU.

using Microsoft.GroupPolicy;

private void ManipulateGPO(){
    GPDomain domain = new GPDomain("sh.dom");
    Gpo gpo_background = domain.CreateGpo("testingGPO");
    Som som = domain.GetSom("The path of the SOM specified as a fully qualified distinguished name, for example, (ou=MyOU,dc=contoso,dc=com)");
    som.LinkGpo(-1, gpo_background);
}

Ссылки Класс Som: https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.grouppolicy.som(v=vs.85).aspx

LinkGpo: https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.grouppolicy.som.linkgpo(v=vs.85).aspx

GPDomain.GetSom: https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.grouppolicy.gpdomain.getsom(v=vs.85).aspx

person Sorceri    schedule 07.08.2017
comment
Спасибо за ответ. не могли бы вы сказать мне, как я могу точно отформатировать строку strOU. я разместил скриншот моей структуры gpo. - person Khaled Rakhisi; 08.08.2017
comment
Должно быть: ou=IT,dc=SH,dc=dom - person Sorceri; 08.08.2017
comment
IT ou находится под sh подразделениями, и не должно быть похоже на ou=sh Divisions, ou=IT, dc=sh, dc=dom ?? @sorceri - person Khaled Rakhisi; 08.08.2017
comment
@KhaledRakhisi да, вы правы, вы можете узнать имя, перейдя к оснастке «Пользователи и компьютеры Active Directory» -> Щелкните правой кнопкой мыши OU -> Свойства -> Редактор атрибутов -> DistinguishedName - person Sorceri; 08.08.2017
comment
я заполнил strOU: LDAP://sh/ou=Dahan o Dandan,ou=Markaz_Behdasht,DC=sh,DC=dom теперь выдает ошибку в строке: Som som = domain.GetSom(sOU); и говорит: Значение не попадает в ожидаемый диапазон - person Khaled Rakhisi; 23.11.2017
comment
@KhaledRakhisi посмотри сюда, serverfault.com/questions/130543/ - person Sorceri; 27.11.2017