J'essaie de supprimer les objets utilisateur orphelins de toutes les boîtes aux lettres de notre serveur Exchange.Exchange 2010 PowerShell: Impossible de lier l'argument
Quand j'exécuter cette commande:
get-mailboxpermission * | where {$_.User -like "S-1-5-21*"} | foreach {$_.Identity.Name}
Il renvoie correctement une liste avec toutes les boîtes aux lettres qui ont toujours orphelins des autorisations de compte utilisateur sont définis sur eux.
Cependant, lorsque je tente de les supprimer en faisant ceci:
get-mailboxpermission * | where {$_.User -like "S-1-5-21*"} | remove-mailboxpermission -identity $_.Identity.Name -user $_.User -accessrights $_.AccessRights -deny:$_.Deny
Il retourne cette erreur:
Cannot bind argument to parameter 'Identity' because it is null.
+ CategoryInfo : InvalidData: (:) [Remove-MailboxPermission], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Remove-MailboxPermission
Qu'est-ce que je fais mal?
Merci pour toute aide.
Je l'ai déjà essayé et obtenu l'erreur 'pipelines ne peuvent pas être exécutés concurrently'. 'Get-MailboxPermission' et' Remove-MailboxPermission' sont conçus pour prendre l'entrée de pipeline les uns des autres de sorte qu'il n'est pas nécessaire d'utiliser 'ForEach'. [voir ce lien] (http://mikepfeiffer.net/2010/02/exchange-management-shell-error-pipelines-cannot-be-executed-concurrently/) – mariu5
@ mariu5 Ma mauvaise. Y at-il une raison pour laquelle vous spécifiez tous ces paramètres avec 'Remove-MailboxPermission'? 'Get-MailboxPermission | Remove-MailboxPermission' devrait suffire –
Cela a fait l'affaire! Je pensais que vous auriez à spécifier la permission exacte afin de l'enlever mais apparemment, ce n'est pas nécessaire. Merci de votre aide. Si vous modifiez votre réponse, je pourrais la marquer comme une solution si vous le souhaitez. – mariu5