我运行下面的脚本,如何将输出放入逗号分隔的字符串中?
Get-ADGroup -filter * -properties GroupCategory | ft objectguid, samaccountname
当前输出
objectguid samaccountname
---------- --------------
f5b71a40-9405-4874-b9b0-b35e45346f63 WinRMRemoteWMIUsers__
95a99aa1-a771-4f86-bdce-7a6a3f00057a Administrators
6a6ad877-180c-462b-9672-bfba20200cda Users
038b03cf-1171-4546-b0af-a7654823e289 Guests
ed3995ae-6f77-492f-bcb5-bc197fa24996 Print Operators
b1f8301a-78e1-47ab-9e51-8e55525acadf Backup Operators
3d23c4c0-71d9-4e08-a8ee-a9692a6ed61f Replicator
d86e5619-5893-41b7-b3a8-eda4c2725562 Remote Desktop Users
473592e4-71c8-458f-b7fc-b474809933ff Network Configuration Operators
c433a049-f9e5-404a-9940-5cf1f8ce4d82 Performance Monitor Users
1ce2daf3-5d97-4493-9ec1-c84a49326113 Performance Log Users
24b06a4c-f32b-4081-a002-6f1851f98256 Distributed COM Users
期望输出
f5b71a40-9405-4874-b9b0-b35e45346f63,WinRMRemoteWMIUsers__,95a99aa1-a771-4f86-bdce-7a6a3f00057a,Administrators,6a6ad877-180c-462b-9672-bfba20200cda,Users,038b03cf-1171-4546-b0af-a7654823e289,Guests,ed3995ae-6f77-492f-bcb5-bc197fa24996,Print Operators,b1f8301a-78e1-47ab-9e51-8e55525acadf,Backup Operators,3d23c4c0-71d9-4e08-a8ee-a9692a6ed61f,Replicator,d86e5619-5893-41b7-b3a8-eda4c2725562,Remote Desktop Users,473592e4-71c8-458f-b7fc-b474809933ff,Network Configuration Operators,c433a049-f9e5-404a-9940-5cf1f8ce4d82,Performance Monitor Users,1ce2daf3-5d97-4493-9ec1-c84a49326113,Performance Log Users,24b06a4c-f32b-4081-a002-6f1851f98256,Distributed COM Users
我将它传递给字符串并使用JavaScript远程解析数据。
答案 0 :(得分:2)
这很简单,包含两个步骤:首先用逗号分隔GUID和帐户名称:
$items = Get-ADGroup -filter * -properties GroupCategory |
select objectguid,samaccountname
$combined = $items |
ForEach-Object { $_.objectguid + ',' + $_.samaccountname }
然后用逗号将所有这些字符串连接成一个字符串:
$result = $combined -join ','
我们也可以采用不同的方式:首先将对象分解为两个字符串:
$separated = $items | % { $_.objectguid; $_.samaccountname }
然后用逗号加入所有这些:
$result = $separated -join ','
或利用$OFS
变量,该变量指定将哪些分隔符数组转换为字符串。同样的开始,我们需要一个单独的数组,其中包含应该用逗号连接的所有内容,然后我们设置$OFS
变量并将数组转换为字符串:
$OFS = ','
$result = [string] $separated