【发布时间】:2016-07-21 06:03:43
【问题描述】:
使用 Powershell,如何使用从 Get-ChildItem 获得的对象名称填充变量?
例如,假设我正在尝试获取给定搜索库下的 OU 的名称(以便我可以进行输入验证)。
我可以轻松地使用临时变量并执行以下操作:
$ValidSites = Get-ChildItem -Path AD:\"OU=SomeOU,DC=contoso,DC=com" | Where-Object { $_.ObjectClass -eq "organizationalUnit" }
$ValidSiteNames = @("","","","","","","","","")
For ($i=0; $i -lt $ValidSites.Length; $i++) {
$ValidSiteNames[$i] = $ValidSites[$i].name
}
但是,这很老套,我最终得到了一个我不想要或不需要的额外变量(以及额外的工作和代码)。
我尝试通过管道传递到 Select 语句(使用 | Select $_.name),但这并没有给我预期的结果(只是返回与不存在相同的对象),所以我不确定还有什么可以尝试的。
如何将Get-ChildItem 返回的这些对象的名称放入一个数组中,而不需要额外的工作和涉及临时变量和 for 循环的代码?
【问题讨论】:
标签: arrays powershell powershell-4.0 get-childitem