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



新手PS用户在这里。

我正在使用 Get-ADOrganizationalUnit 将我想要的子 OU 作为字符串数组返回。IE "ou1","ou2","ou3" 等。我找到的示例以表格形式返回数据。我尝试过使用导出 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

这将返回:

这欧

那呵呵

另一个OU

等。

但我需要它的结构为"这个","那个","另一个"等字符串数组将在另一个脚本中使用,以创建 OU 的下拉列表。任何帮助将不胜感激!

不要通过

管道Format-Table(或Select-Object(,而是使用 Foreach-Object (foreach( cmdlet 将 name 属性提取到字符串数组中。

[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 '","')`""

最新更新