将表格式的变量转换为字符串数组

时间:2018-03-23 18:32:41

标签: arrays string powershell

新手PS用户在这里。

我使用Get-ADOrganizationalUnit将我想要的子OU作为字符串数组返回。 IE" ou1"," ou2"," ou3"等。我找到的示例以表格形式返回数据。我尝试过使用export-csv,但这根本不能正常工作! 以下是我用来获取数据的内容:

$Items = Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=aa,OU=bb,OU=cc,OU=dd,DC=AD,DC=contoso,DC=CA' -SearchScope OneLevel | Format-Table Name -HideTableHeaders

返回:

ThisOU

ThatOU

AnotherOU

但我需要它的结构为 " ThisOU"" ThatOU"" AnotherOU",等 字符串数组将在另一个脚本中用于创建OU的下拉列表。 非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

使用Format-TableSelect-Object)cmdlet将name属性解压缩为字符串数组,而不是通过Foreach-Object(或foreach)进行管道传输。

[string[]] $items = Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=aa,OU=bb,OU=cc,OU=dd,DC=AD,DC=contoso,DC=CA' | foreach Name

如果您想将这个字符串数组转换为“name1”,“name2”,“name3”行的单个字符串,您可以这样做:

$formattedNames = "`"$($items -join '","')`""