0

メールボックスフォルダから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}

$ fldrpermDNに含まれているDNのメールボックスではなく、Exchange内のすべてのメールボックスを取得します。

これを引き起こしているのは何で、どのように回避すればよいですか?TIA!

4

1 に答える 1

0

$_ を別の名前に置き換えます。foreach ステートメントでは null です。$_ (現在のオブジェクト) は、スクリプト ブロック内でのみ使用できます。

$fldrpermDN = foreach ($folder in $fldrperm){$folder.User.ADRecipient.DistinguishedName} 
于 2013-03-13T13:36:45.057 に答える