从Get-MailboxFolderPermission中选择AD Recipient.DistinguishedName时的奇怪行为

时间:2013-03-13 13:21:40

标签: powershell exchange-server

我通过以下方式从邮箱文件夹中提取DistinguishedNames:

$fldrPerm = Get-MailboxFolderPermission TestMailbox:\Folder
$fldrpermDN = @()
$fldrpermDN = foreach ($_ in $fldrperm){$_.User.ADRecipient.DistinguishedName} 

结果数组在打印到屏幕时包含DistinguishedNames,但是对于另一个数组使用compare-object,它将作为null错误,也对$ fldrpermDN的内容执行foreach循环,例如:

foreach ($u in $fldrpermDN){get-mailbox $u}

将获取Exchange中的所有邮箱,而不是$ fldrpermDN中包含的DN的邮箱。

导致这种情况的原因以及如何解决这个问题? TIA!

1 个答案:

答案 0 :(得分:0)

将$ _替换为其他名称,在foreach语句中为null。 $ _(当前对象)仅在脚本块中可用。

$fldrpermDN = foreach ($folder in $fldrperm){$folder.User.ADRecipient.DistinguishedName}