gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 23:11:01 25 4
gpt4 key购买 nike

PowerShell 的新手,目前的体验非常好。我如何格式化以下 cmd 管道以将显示作为单行显示在屏幕上,元素由 ; 分隔(以轻松允许复制/粘贴到 Outlook)

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

基本上,希望输出看起来像这样:

AMRCVW-EDELSI;AMRMOP-REITES;amrmop-kruges

最佳答案

尝试:

(Get-ADGroupMember "gbl-intel-l3-u" -Recursive| Get-ADUser -Properties Mail).Name -join ';'

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

(Get-ADGroupMember "gbl-intel-l3-u" -Recursive| Get-ADUser).Name -join ';'

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

(Get-ADGroupMember "gbl-intel-l3-u" -Recursive).Name -join ';'

如果您使用的是 PSv5.1 或更高版本(在 Windows 上),您可以将上述命令通过管道传递给 Set-Clipboard ( ... | Set-Clipboard ) 将生成的文本复制到剪贴板。
在较低的 PS 版本中,您可以通过管道传输到外部 clip.exe实用程序 ( ... | clip ),但请注意,这总是会附加一个换行符,您可能会遇到编码问题。


注意:

  • 在 PSv3+ 中,您可以简单地使用 .<propertyName> 提取集合的元素 的属性值在集合本身上。

    • 一个简化的例子:
      @( [pscustomobject] @{ one = '1a' }, [pscustomobject] @{ one = '1b' } ).one产量数组 @( '1a', '1b' )
  • -join ';'然后将结果属性值数组与 ; 连接起来作为分隔符以形成单个输出字符串。

关于powershell - 如何将对象列表输出到带有分隔符的单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40856059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com