Échange 2010 Powershell Output Chaque boîte aux lettres permission de séparer les files text

Je cherche à produire les résultats de

Get-Mailbox –Server MYserverName | Get-MailboxPermission | FL 

entré dans des files text individuels pour chaque boîte aux lettres individuelle, avec le file text nommé pour la boîte aux lettres – par exemple, je souhaite avoir un dossier avec le contenu:

  • C: \ Exemple \ MailboxUser1.txt
  • C: \ Exemple \ MailboxUser2.txt
  • C: \ Example \ MailboxUser3.txt

chacun contenant les résultats d'autorisation de la boîte aux lettres.

Je sais que je peux faire une boucle foreach suivant:

 ForEach-Object {Out-file $_.name} 

pour générer les files de sortie, mais je ne suis pas trop sûr de savoir comment je ferais cela en une seule étape pour get les permissions pour toutes mes boîtes aux lettres dans des files individuels (je sais que cela me donnera beaucoup de files text!)?

Tu es presque là. Combinez-les de la sorte:

 Get-Mailbox –Server MYserverName | % { Get-MailboxPermission $_ | FL | Out-file $_.name } 

J'ai essayé cela sur mon server de laboratoire Exchange 2013 et il semblait faire ce dont vous avez besoin. Pour cette fonction, il y a peu de différence entre 2010 et 2013.

Si vous voulez l'extension ".txt" sur les files de sortie, procédez comme suit:

 Get-Mailbox –Server MYserverName | % { Get-MailboxPermission $_ | FL | Out-file "$_.txt" } 

Merci à tous – c'était assez proche – mais quand je l'ai couru sur quelques servers 2010 différents, j'ai eu une erreur:

Le pipeline n'est pas exécuté car un pipeline est déjà en cours d'exécution. Les pipelines ne peuvent pas être exécutés simultanément. + CategoryInfo: OperationStopped: (Microsoft.Power … tHelperRunspace: ExecutionCmdletHelperRunspace) [], PSInvalidOperationException + FullyQualifiedErrorId: RemotePipelineExecutionFailed

Le pipeline n'est pas exécuté car un pipeline est déjà en cours d'exécution. Les pipelines ne peuvent pas être exécutés simultanément. + CategoryInfo: OperationStopped: (Microsoft.Power … tHelperRunspace: ExecutionCmdletHelperRunspace) [], PSInvalidOperationException + FullyQualifiedErrorId: RemotePipelineExecutionFailed

ce qui m'a amené à http://mikepfeiffer.net/2010/02/exchange-management-shell-error-pipelines-cannot-be-executed-concurrently/ ce qui m'a suggéré d'utiliser une variable – donc mon résultat final était:

 $mailbox = Get-Mailbox $mailbox | % { Get-MailboxPermission $_ | FL | Out-file "$_.txt" } 

qui a fonctionné parfaitement! Merci encore!