将 Powershell 结果输出到单个文本文档

Output Powershell results to individual text documents

我认为这可能是一个简单的答案,但对于我来说,我无法理解为什么这个简单的事情似乎在打败我。我希望输出

的结果
Get-Mailbox –Server MYserverName | Get-MailboxPermission | FL

通过管道传输到每个单独邮​​箱的单独文本文件中,文本文件以邮箱命名 - 例如我想要一个包含以下内容的文件夹:

每个都包含邮箱权限结果。

我知道我可以按照以下方式执行 foreach 循环:

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

生成输出文件,但我不太确定如何一步完成,将我所有邮箱的权限获取到单个文件中(我知道这会给我很多文本文件!)?

大致如下:

$directory = "C:\example\"
$count = 0

Get-Mailbox –Server "MYserverName" | Foreach-Object {
    Get-MailboxPermission | Format-List |
        Out-File (Join-Path $directory "MailboxUser-$(++$count).txt")
}

ForEach-Object 循环(邮箱)的每一次通过中,将使用 Get-MailboxPermission 命令的输出生成一个文件。

++$count 在使用它之前递增该值(与 $count++ 相对)

如果您更喜欢使用邮箱对象的 Name 属性 来命名文件:

$directory = "C:\example\"

Get-Mailbox –Server "MYserverName" | Foreach-Object {
    $mailboxName = $_.Name
    Get-MailboxPermission | Format-List |
        Out-File (Join-Path $directory "MailboxUser-$mailboxName.txt")
}
Get-Mailbox –Server MYserverName | Get-MailboxPermission | foreach {out-file "$($_.name).txt"} 

如果 "name" 是您正在查看的 属性,这将能够为您提供所需的所有权限。我不使用 exchange cmdlet,所以我不知道这是否算数。