首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Powershell输出与单个csv相结合

将Powershell输出与单个csv相结合
EN

Stack Overflow用户
提问于 2021-02-10 17:23:12
回答 1查看 181关注 0票数 1

我拼凑了下面的powershell命令,将作为安全组成员的服务器列表导出到csv。我有许多命令来生成它自己的csv。我不想有十几个csv文件,而是希望生成一个csv,包含两个列、服务器名和它所在的安全组。这是如何做到的呢?

代码语言:javascript
复制
Get-ADGroupMember -identity "SecGrp-123" -server "test.net" | select name | sort-object name | export-csv "SecGrp-123.csv" -NoTypeInformation
Get-ADGroupMember -identity "SecGrp-456" -server "test.net" | select name | sort-object name | export-csv "SecGrp-456.csv" -NoTypeInformation
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-10 17:36:19

我猜你是在找这样的东西:

代码语言:javascript
复制
Write-Output SecGrp-123, SecGrp-456 -PipelineVariable groupName | 
  ForEach-Object {
    Get-ADGroupMember -Identity $_ -Server test.net | Sort-Object Name
  } | 
      Select-Object Name, @{ n='Group'; e={ $groupName } } | 
        Export-Csv out.csv -NoTypeInformation

注意:上面按照每个组的名称对服务器进行排序。如果希望在所有组中按名称进行排序,请将Sort-Object Name调用移至ForEach-Object调用之外,并将其放在后者之后作为一个新的管道段。

如果Get-ADGroupMember接受组名字符串作为管道输入(我无法验证这一点),则可以简化为:

代码语言:javascript
复制
Write-Output SecGrp-123, SecGrp-456 -PipelineVariable groupName | 
  Get-ADGroupMember -Server test.net | 
    Sort-Object Name |
      Select-Object Name, @{ n='Group'; e={ $groupName } } | 
        Export-Csv out.csv -NoTypeInformation

注意:这将根据所有组的服务器名称进行排序;要对每个组进行排序,请使用Sort-Object Group, Name,它也将按排序顺序列出组。

另请参阅:

  • common -PipelineVariable parameter (PSv4+;别名-pv),它将cmdlet的当前输出对象保存在给定名称的变量中,以便以后在下游cmdlet的脚本块中使用。

中定义Select-Object属性的机制。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66141836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档