2016-11-25 142 views
0

有谁知道为什么Sort-Object不能在这段代码中工作吗?排序对象不能正常工作

gwmi win32_computersystem -comp $Computer.FullDomainName -ErrorAction SilentlyContinue | 
    select Caption,Username | Sort Caption 
+0

工作正常,我 – 4c74356b41

+1

是什么让你相信这是行不通的? –

+0

结果我得到prog313然后pc203然后laptop044然后pc247 –

回答

3

我打算扩展@ Kage的评论并猜测答案。

gwmi win32_computersystem -comp $Computer.FullDomainName -ErrorAction SilentlyContinue | 
select Caption,Username | Sort Caption 

此查询获取单个计算机的标题,因此,当您排序它时,什么也没有发生。 "laptop244" | sort什么都不做。我猜您的代码如下(大致)是这样的:

foreach ($Computer in (Get-AdComputer -Filter *)) 
{ 
    gwmi win32_computersystem -comp $Computer.FullDomainName -ErrorAction SilentlyContinue | 
    select Caption,Username | Sort Caption 
} 

但需要看起来像这样:

# Loop over the computers and gather all the results into one array 

$ComputerDetails = foreach ($Computer in (Get-AdComputer -Filter *)) 
{ 
    gwmi win32_computersystem -comp $Computer.FullDomainName -ErrorAction SilentlyContinue | 
    select Caption,Username 
} 

# Sort all the details in that array in one go 
$ComputerDetails | Sort Caption 
+0

是的,那是我的问题。谢谢 –