2012-12-29 53 views
19
$result = Get-ADUser -Filter $filter 

如果我有2個或更多的結果,我得到$ x作爲數組,但如果我只有一個結果,得到$ x作爲對象。如何使它更加正確,總是接收數組 - 空的,有一個元素還是有一些元素?PowerShell:我如何強制獲得結果作爲數組而不是對象

+5

我送了downvote這時間,但你應該先詢問才能搜索。這是多次回答,是PowerShell基礎知識=沒有研究工作。 –

+0

可能重複的[如何強制Powershell返回一個數組時,只有一個調用返回一個對象?](http://stackoverflow.com/questions/11107428/how-can-i-force-powershell-to-return- an-array-when-a-call-only-returns-one-objec) –

回答

24

嘗試$ X = @(GET-ADUser便有)

的@()語法強制的結果是一個數組

+0

謝謝! #######> $ a1 = Get-WMIObject Win32_OperatingSystem; Write-Host($ a1.GetType())。BaseType; $ a2 = @(Get-WMIOb ject Win32_OperatingSystem); Write-Host($ a2.GetType())。BaseType; Write-Host($ a2 [0] .GetType())。BaseType; ######### System.Management.ManagementBaseObject System.Array System.Management.ManagementBaseObject – filimonic

+0

如果結果是數組,這將不會導致包含數組的數組?如果函數產生'$ null'會怎麼樣? (PowerShell由於他們有時做的所有魔法而令人困惑。) – jpmc26

+0

非常受歡迎! –

3

此外,您還可以使用$x=[array]get-aduser

相關問題