web-dev-qa-db-ja.com

Exchangeアドレス一覧からユーザーを非表示にするPowershellコマンド

ユーザーを交換リストから隠すPowershellスクリプトを記述しようとしています。

次のコマンドを見つけることができました:Set-Mailbox -Identity [user id here] -HiddenFromAddressListsEnabled $true

エラーメッセージは表示されません。コマンドを2回実行すると、次の警告が表示されます。

警告:コマンドは正常に完了しましたが、「[user id here]」の設定は変更されていません。

これはおそらく、コマンドが実際に機能したことを意味します。

しかし私が行くとき Exchange管理コンソール、ユーザープロファイル「hide user from exchange address lists "チェックボックスはオフです。

その理由は何でしょうか?

9
Vova Zaycev

これを毎日のスケジュールされたタスクとして使用して、ADで無効になっているユーザーをグローバルアドレス一覧から非表示にします

$mailboxes = get-user | where {$_.UserAccountControl -like '*AccountDisabled*' -and $_.RecipientType -eq 'UserMailbox' } | get-mailbox  | where {$_.HiddenFromAddressListsEnabled -eq $false}

foreach ($mailbox in $mailboxes) { Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $mailbox }
6
Rob Millerd

次のスクリプトを使用できます。DOMAINをドメインの名前に置き換えてください。実行すると、ユーザーのログインを求めるプロンプトが表示され、そのユーザーのアカウントがアドレス一覧に表示されなくなります。

$name=Read-Host "Enter login name of user to hide"
Set-Mailbox -Identity DOMAIN\$name -HiddenFromAddressListsEnabled $true

ブライアン。

2
Brian

まったく同じエラーが発生しましたが、$falseを最初に実行してから$trueを実行することで解決しました。

1
Jiberoony

Office 365ユーザーまたはハイブリッドエクスチェンジの場合は、Internet ExplorerまたはEdgeの使用に移動し、エクスチェンジ管理センターに移動して、ハイブリッドを選択し、セットアップして、ハイブリッドまたはエクスチェンジオンラインの右ボタンを選択します。

接続する:

Connect-EXOPSSession

関連するメールボックスを表示するには:

Get-mailbox -filter {ExchangeUserAccountControl -eq 'AccountDisabled' -and RecipientType -eq 'UserMailbox' -and RecipientTypeDetails -ne 'SharedMailbox'}

上記の0KBサイズのアイデアに基づいてブロックするには:

Get-mailbox -filter {ExchangeUserAccountControl -eq 'AccountDisabled' -and RecipientTypeDetails -ne 'SharedMailbox' -and RecipientType -eq 'UserMailbox'} | Set-Mailbox -MaxReceiveSize 0KB -HiddenFromAddressListsEnabled $ true

0
Bart Louwagie

Identitydomain\userなどの有効なDN値のいずれかをSet-Mailboxコマンドレットに渡す必要があります。現在、何も渡していません。

0
manojlds

「警告:コマンドは正常に完了しましたが、「[user id here]」の設定は変更されていません。」

この警告は、設定が希望どおりにすでに設定されていることを意味します。したがって、そのオブジェクトについては何も変更されませんでした。

0
Jannick