我正在创建分发列表,并尝试填充 AD 描述字段。Set-ADGroup 似乎是此任务的正确 cmdlet,但是我无法在简单脚本中使用它,或者使用变量传递所需的参数或对象。
这有效:
Get-ADGroup -Identity "CN=My Group Name,OU=Distribution,OU=Groups,DC=subdomain,DC=domain,DC=tld"
但这不会:
$GroupDn = Get-Group -Identity "My Group Name" | Select-Object DistinguishedName
Get-ADGroup -Identity $GroupDn
并因此错误而失败:
get-adgroup:在“DC=subdomain,DC=domain,DC=tld”下找不到标识为“$GroupDn”的对象。在 line:1 char:1 + get-adgroup -Identity '$GroupDn' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: ($GroupDn:ADGroup) [Get-ADGroup], ADIdentityNotFoundException + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.GetADGroup
$GroupDn 正在存储这个对象:
PS D:\Scripts> $groupdn
DistinguishedName
-----------------
CN=My Group Name,OU=Distribution,OU=Groups,DC=subdomain,DC=domain,DC=tld
我认为这是因为 Get-ADGroup 期待字符串输入,但我也知道这是 Powershell 和对象,所有这一切都是神奇的秘诀,但我的 roux 似乎是块状的,我错过了一些关键点。
那么,字符串输入是我应该在这里处理的吗?如果是这样,将 DN 转换为字符串的正确方法是什么?
或者我缺少对象秘密酱的哪一部分?