首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将对象列表输出到带分隔符的单行

如何将对象列表输出到带分隔符的单行
EN

Stack Overflow用户
提问于 2016-11-29 08:50:38
回答 2查看 7.9K关注 0票数 2

PowerShell新手,到目前为止体验很棒。如何设置以下命令管道的格式,使其以单行形式显示在屏幕上,元素之间用;分隔(以便轻松地复制/粘贴到Outlook中)

代码语言:javascript
复制
PS C:\Users\amrgro-dennem04> get-adgroupmember  -Identity "gbl-intel-l3-u" -Recursive|get-aduser -properties Mail|select-object Name

Name
 ----
AMRCVW-EDELSI
AMRMOP-REITES
amrmop-kruges

基本上,希望输出如下所示:

代码语言:javascript
复制
AMRCVW-EDELSI;AMRMOP-REITES;amrmop-kruges
EN

回答 2

Stack Overflow用户

发布于 2016-11-29 08:59:28

尝试:

代码语言:javascript
复制
(Get-ADGroupMember "gbl-intel-l3-u" -Recursive| Get-ADUser -Properties Mail).Name -join ';'

假设您不需要-Properties参数,因为您没有使用.Mail属性,所以可以简化为:

代码语言:javascript
复制
(Get-ADGroupMember "gbl-intel-l3-u" -Recursive| Get-ADUser).Name -join ';'

假设您只访问.Name属性,而不是真正按成员类型进行过滤

代码语言:javascript
复制
(Get-ADGroupMember "gbl-intel-l3-u" -Recursive).Name -join ';'

如果您使用的是PSv5.1或更高版本(在Windows上),您可以通过管道将上述命令发送给Set-Clipboard (... | Set-Clipboard),以将生成的文本复制到剪贴板。

在较低的PS版本中,您可以通过管道转到外部clip.exe实用程序(... | clip),但请注意,这总是附加一个换行符,并且您可能会遇到编码问题。

注意:

  • 在PSv3+中,只需对集合本身使用.<propertyName>即可提取集合元素的属性值。

代码语言:javascript
复制
- A simplified example:

@( [pscustomobject] @{ one = '1a' }, [pscustomobject] @{ one = '1b' } ).one生成数组@( '1a', '1b' )

然后,

  • -join ';'将以;作为分隔符的结果属性值的数组结合在一起,形成单个输出字符串。
票数 4
EN

Stack Overflow用户

发布于 2018-07-25 09:56:53

像这样的东西应该会有帮助,它是一个包含两个链接在一起的命令的一行程序:

代码语言:javascript
复制
$test = get-adgroupmember  -Identity "gbl-intel-l3-u" -Recursive|get-aduser -properties Mail|select-object Name ; $test -join '; ';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40856059

复制
相关文章

相似问题

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