2016-04-14 3 views
0

Quand je courais commande ci-dessous cela fonctionne on pouvait s'y attendreget-boîte aux lettres entre les domaines d'échange 2007

get-mailbox -identity [email protected] .com 

lorsque je tente de couru la même commande dans un script, il continue de recevoir des erreurs n'a pu être trouvée sur le contrôleur de domaine

$ utilisateurs = import-csv "C: \ Users \ xx \ Documents \ CSV \ PORB.csv" foreach ($ user utilisateurs de $) {$ Récipiendaires = Get-Mailbox -Identity user.users $ [tableau] $ AllEmailAddresses = $ Recipient.EmailAddresses [tableau] $ NoX500Addresses = $ Recipient.EmailAddresses | Où {$ _ -notlike "X500: *"} Set-Mailbox -Identity $ Recipient.Identity -EmailAddresses $ NoX500Addresses

erreur que je reçois: Get-Mailbox: L'opération ne peut être effectuée car l'objet ' [email protected] 'n'a pas pu être trouvé sur le contrôleur de domaine ' XXX.aaa.bbbb.ccc.net '. À la ligne: 5 car: 19 + $ = destinataires Get-Mailbox -Identity user.users $}

** Je ne sais pas ce que je fais mal, je aussi inclus ** $AdminSessionADSettings.ViewEntireForest = $true

Répondre

0

trouvé un autre script sur le Web pour obtenir la liste de domaine et d'agir sur chaque domaine dans la liste

$ objForest = [System.DirectoryServices.ActiveDirectory.Forest] :: GetCurrentForest() $ DomainList = @ ($ objForest.Domains | Nom de l'objet sélectionné) $ Domaines = $ DomainList | foreach {$ _ Nom.}

de loi sur chaque domaine

foreach ($ Domaine dans ($ Domaines)) {$ users = Import-csv « C: \ Users \ Ramer \ Documents \ CSV \ PORB.csv "foreach ($ utilisateur dans $ utilisateurs) {$ Recipients = Get-Mailbox -Identity $ utilisateur.users [tableau] $ AllEmailAddresses = $ Recipient.EmailAddresses [tableau] $ NoX500Addresses = $ Recipient.EmailAddresses | Où {$ _ -ne ressemble pas à "X500: *"} Set-Mailbox -Identity $ Destinataire.Identité -EmailAddresses $ NoX500Addresses}