0
我試圖從Active Directory中使用Powershell獲取一些信息,但我得到了一些奇怪的行爲。這是我的腳本:Powershell對數值與數組的表現有所不同?
$toFind = ('bobjones', 'samsmith')
filter Get-AdUser {
$strFilter = "(&(objectCategory=User)(sAMAccountName=$_))"
$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$colProplist = ("name", "department")
foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
($objSearcher.FindAll() | %{$_.Properties})
}
"paul" | get-aduser # Works
$toFind | get-aduser # Doesn't work?!
前者打印出我期望的東西,一張屬性表;後者最終只是反覆打印「0 1」,儘管我不知道爲什麼。爲什麼單個案件可以工作,但不是陣列?