【问题标题】:Output Powershell results to individual text documents将 Powershell 结果输出到单个文本文档
【发布时间】:2016-03-11 06:11:54
【问题描述】:

我认为这可能是一个简单的答案,但对于我的一生,我无法弄清楚为什么这件简单的事情似乎会打败我。我正在寻找输出结果

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}

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

【问题讨论】:

    标签: powershell for-loop foreach exchange-server-2010


    【解决方案1】:

    类似的东西:

    $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")
    }
    

    【讨论】:

    • 当输出到文件时,建议使用select-object 或什么都不用,而不是format 命令...这是因为format 命令创建的对象类型.
    • 谢谢大家 - 这对我来说很好 - 我最终变得更简单了: $mailbox = Get-Mailbox $mailbox | % { 获取邮箱权限 $_ |佛罗里达州 |输出文件“$_.txt”}
    【解决方案2】:
    Get-Mailbox –Server MYserverName | Get-MailboxPermission | foreach {out-file "$($_.name).txt"} 
    

    如果“名称”是您正在查看的属性,这将能够为您提供所需的所有权限。我不使用交换 cmdlet,所以我不知道这是否会计算在内。

    【讨论】:

    • 这不会为每个权限创建一个文件吗?
    • 取决于流水线中的内容。同样,我不熟悉交换 cmdlet 的工作原理,因为我自己就是一名广告人员。我假设 Get-MailboxPermissions 返回一个包含用户和 ACL 信息的对象,而不仅仅是 ACL 信息(我对 OP 的解释是 outfile 的 $_.name)这可能完全不正确,但只是我对如何 POSH 的假设有效,以及我可以根据 OP 在初始帖子中的内容推断出什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多