【问题标题】:Output a list of AD users, with group names starting with *ABC*输出 AD 用户列表,组名以 *ABC* 开头
【发布时间】:2014-07-10 10:53:54
【问题描述】:

我怎样才能得到一个文件(csv 或 txt),其中包含每个组的名称以及下面列出的成员。

例如,所有组都以“ABC”开头。

这是我的代码,它提供了我想要输出到控制台的确切内容,但是,当我输出到 CSV 时,我无法附加组名,只能获取成员。

import-module activedirectory
$Groups = Get-ADGroup -filter {Name -like "ABC*"} | Select-Object Name

ForEach ($Group in $Groups)
   {
    write-host " "
    write-host "$($group.name)"
    Get-ADGroupMember -identity $($group.name) -recursive | Select-Object Name
   }

上面的代码在控制台上给了我一个很好的输出,如下所示:

ABC1 组
人1
人2
人3
人4

ABC2组
人1
人2
人3
人4



如何将此输出转换为文本或 csv 文件以保持上述布局和格式?

【问题讨论】:

    标签: windows csv powershell active-directory


    【解决方案1】:

    如果您想在控制台上查看输出并将其保存在文件中:

    import-module activedirectory
    $Groups = Get-ADGroup -filter {Name -like "NU22*"} | Select-Object Name
    
    $null | Set-Content Result.txt
    
    ForEach ($Group in $Groups)
       {
        write-host " "
        $($group.name) | Tee-Object -FilePath Result.txt -Append
        Get-ADGroupMember -identity $($group.name) -recursive | 
        Select-Object Name | Tee-Object -FilePath Result.txt -Append
       }
    

    【讨论】:

      【解决方案2】:

      您知道它为什么不将其输出到您的文件中吗?因为你告诉它不要这样做。

      Write-Host "$($group.name)"
      

      这将写入主机、您的 powershell 应用程序(ISE 或控制台)而不是其他任何内容,因为这就是您告诉它要做的事情。使用 Write-Output 或仅将文本单独放在行上并用引号引起来。

      import-module activedirectory
      $Groups = Get-ADGroup -filter {Name -like "ABC*"} | Select-Object Name
      
      ForEach ($Group in $Groups)
         {
          "`n"|Out-File Somefile.txt -append
          "$($group.name)"|Out-File Somefile.txt -append
          Get-ADGroupMember -identity $($group.name) -recursive | Select-Object Name|Out-File Somefile.txt -append
         }
      

      【讨论】:

        【解决方案3】:

        使用 -Append 开关将其传送到 Out-File。 您可以对 Write-Host 行执行相同的操作,只需使用 -Append 将输出通过管道传输到 Out-File。

        【讨论】:

        • 谢谢!这会输出带有用户名的布局,如控制台输出所示,但是,我仍然缺少每组用户上方的组名标题:(有什么想法吗?
        猜你喜欢
        • 2020-08-03
        • 1970-01-01
        • 1970-01-01
        • 2022-12-09
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多