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

Установить многозначные строки MS AD с помощью Powershell

Как установить многозначный атрибут в AD. Например, мне нужно установить msDS-AllowedDNSSuffixes для объекта корневого домена. Если я делаю это через ADSIEdit, он добавляет одно значение за раз.

Я попытался:

Set-ADObject -Identity 'b313bf35-f3ab-4074-8255-f38dc1217c06' -Replace @{'msDS-AllowedDNSSuffixes'='aaa.contoso.com; bbb.contoso.com'}
Set-ADObject -Identity 'b313bf35-f3ab-4074-8255-f38dc1217c06' -Replace @{'msDS-AllowedDNSSuffixes'='aaa.contoso.com\nbbb.contoso.com'}
Set-ADObject -Identity 'b313bf35-f3ab-4074-8255-f38dc1217c06' -Replace @{'msDS-AllowedDNSSuffixes'='aaa.contoso.com;bbb.contoso.com'}

Он добавляет все как одну строку, как показано в ADSIEdit.

также я пробовал:

$suffixes = @"
aaa.contoso.com
bbb.contoso.com
"@
foreach ($i in $suffixes) {
Set-ADObject -Identity 'b313bf35-f3ab-4074-8255-f38dc1217c06' -Add @{'msDS-AllowedDNSSuffixes'= $i}
}

Тоже самое.

Как установить значение такого типа атрибута? Какой разделитель использовать?

Установите значение в виде массива требуемых настроек; например

Set-ADObject -Identity 'b313bf35-f3ab-4074-8255-f38dc1217c06' -Replace @{'msDS-AllowedDNSSuffixes'=@("aaa.contoso.com","bbb.contoso‌​.com")}