将 Powershell 结果输出到单个文本文档
Output Powershell results to individual text documents
我认为这可能是一个简单的答案,但对于我来说,我无法理解为什么这个简单的事情似乎在打败我。我希望输出
的结果
Get-Mailbox –Server MYserverName | Get-MailboxPermission | FL
通过管道传输到每个单独邮箱的单独文本文件中,文本文件以邮箱命名 - 例如我想要一个包含以下内容的文件夹:
- C:\Example\MailboxUser1.txt
- C:\Example\MailboxUser2.txt
- C:\Example\MailboxUser3.txt
每个都包含邮箱权限结果。
我知道我可以按照以下方式执行 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,所以我不知道这是否算数。
我认为这可能是一个简单的答案,但对于我来说,我无法理解为什么这个简单的事情似乎在打败我。我希望输出
的结果Get-Mailbox –Server MYserverName | Get-MailboxPermission | FL
通过管道传输到每个单独邮箱的单独文本文件中,文本文件以邮箱命名 - 例如我想要一个包含以下内容的文件夹:
- C:\Example\MailboxUser1.txt
- C:\Example\MailboxUser2.txt
- C:\Example\MailboxUser3.txt
每个都包含邮箱权限结果。
我知道我可以按照以下方式执行 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,所以我不知道这是否算数。