9
votes

Commande PowerShell pour masquer l'utilisateur des listes d'adresses Exchange

J'essaie d'écrire un script PowerShell qui masque l'utilisateur des listes d'échange.

J'ai pu trouver la commande suivante: Set-Mail -Identitity [ID utilisateur ici] -HITENDFROMADDRESSLISTEnabled $ vrai

Et cela ne me donne pas un message d'erreur, et lorsque j'exécute la commande deux fois, je reçois la suite d'avertissement:

AVERTISSEMENT: La commande s'est terminée avec succès, mais aucun paramètre de '[ID utilisateur ici]' a été modifié.

ce qui signifie probablement que la commande a réellement fonctionné.

mais quand je vais à Console de gestion Exchange et ouvrez le profil utilisateur, " masquer l'utilisateur des listes d'adresses Exchange " Cochez la case.

Quelle pourrait être la raison?


1 commentaires

6 Réponses :


0
votes

Vous devrez passer l'une des valeurs valides Identity comme DN , Domaine \ User etc à la boîte à lettres cmdlet. Actuellement, vous n'en passez rien.


1 commentaires

Manojlds, je mets un identifiant utilisateur dans les signes d'inégalité et il n'a pas été affiché. En réalité, ce n'est pas le problème et l'ID valide a été fourni. Désolé



2
votes

Vous pouvez utiliser le script suivant, simplement remplacer le domaine avec le nom de votre domaine. Lorsqu'il est exécuté, il vous invitera à un utilisateurLogin, puis masquez ce compte de cet utilisateur dans les listes d'adresses.

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


1 commentaires

C'est exactement ce que j'utilise et définit la valeur, mais lorsque je vais à Exchange Management Console, et à ouvrir le profil utilisateur, "Masquer l'utilisateur des listes d'adresses Exchange" est éteint.



1
votes

J'avais exactement la même erreur, mais je l'ai résolu en exécutant $ false d'abord, puis $ vrai . . .


0 commentaires

7
votes

Je l'utilise comme une tâche planifiée quotidienne pour masquer les utilisateurs désactivés dans AD à partir de la liste d'adresses globale

$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 }


0 commentaires

0
votes

"AVERTISSEMENT: la commande s'est terminée avec succès, mais aucun paramètre de '[ID utilisateur ici] a été modifié."

Cet avertissement signifie que le réglage était déjà défini comme ce que vous voulez que ce soit. Donc, cela n'a rien changé pour cet objet.


0 commentaires

0
votes

Pour Office 365 utilisateurs ou échange hybride, accédez à Internet Explorer ou Edge, accédez au centre d'administration Exchange, choisissez Hybrid, la configuration, choisissez le bouton droit de l'hybride ou de l'échange en ligne.

pour se connecter:

Connect-Exopsession

Pour voir les boîtes aux lettres correspondantes:

Get-Mailbox -Filter {ExchancerAccountControl -eq 'AccountDisabled' ' -ettypetType -eq 'usermailbox' -ettTypeDetails -En'ne 'SharedMailBox'}

Bloquer en fonction de l'idée ci-dessus de la taille 0KB:

Get-Mailbox -Filter {ExchancerAccountControl -eq 'AccountDisabled' ' -etty-RecipienttTypetails -ne 'SharedMailBox' -ettypeTtype -eq 'usermailbox'} | Set-Mailbox -MaMaReceiveSize 0kb -ChitdenFromadDressSlistsEnabled $ vrai


0 commentaires