为什么我的powershell脚本中有额外的输出'@ {..}'?

时间:2013-02-01 13:26:14

标签: powershell

当我运行以下脚本时,它返回:@{Name=<Usersname>} not found

Foreach ($object in Get-childitem "\\HomeDriveServer\home$\" | select Name)
{
$userAccount = get-aduser -Filter {SamAccountName -like "*$object*"}
if($userAccount -eq $null)
    {
write-host "$object not found"
    }
else
    {
write-host "$object found"
    }
}

Get-childitem "\\HomeDriveServer\home$\" | select Name在没有@{Name= XXX }

的情况下返回文件夹名称列表。

为什么@{Name= XXX }出现了,我怎么能摆脱它呢?

由于

1 个答案:

答案 0 :(得分:0)

你看到的并不完全是你得到的。您的查询返回一个集合。 你应该试试:

Foreach ($object in Get-childitem "\\HomeDriveServer\home$\" | select -ExpandProperty Name)
{
$userAccount = get-aduser -Filter {SamAccountName -like "*$object*"}
if($userAccount -eq $null)
    {
write-host "$object not found"
    }
else
    {
write-host "$object found"
    }
}