使用 Powershell 设置多值字符串 MS AD

Pap*_*urf 4 powershell active-directory

如何在 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'}
Run Code Online (Sandbox Code Playgroud)

它将所有内容添加为一行,如 ADSIEdit 中所示。

我也尝试过:

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

一样的东西。

如何设置此类属性的值?使用什么分隔符?

小智 5

将值设置为所需设置的数组;例如

\n\n
Set-ADObject -Identity \'b313bf35-f3ab-4074-8255-f38dc1217c06\' -Replace @{\'msDS-AllowedDNSSuffixes\'=@("aaa.contoso.com","bbb.contoso\xe2\x80\x8c\xe2\x80\x8b.com")}\n
Run Code Online (Sandbox Code Playgroud)\n