格式 - 表不显示列数据

时间:2013-08-23 12:41:38

标签: powershell active-directory

我使用下面的powershell命令读取csv文件,并将计算机名称与上次登录日期为181天的员工姓名相匹配。由于某种原因,输出中的Employee_Name列仅在每行上显示{}。知道为什么它没有返回员工姓名吗?

Import-Module ActiveDirectory
$Days = (Get-Date).AddDays(-181) 


$Computers = @{}
Import-CSV -Path c:\PS\ComputerNames.CSV | % { $Computers[$_.Computer_Name] = $_.Employee_Name }
Get-ADComputer -Property Name,lastLogonDate -Filter  {lastLogonDate -lt $Days} -Server servername -Searchbase "OU=US,DC=Domain,DC=net" | ? { $Computers.Keys -contains $_.Computer_Name } | select Name,lastLogonDate,@{n='Employee_Name';e={$Computers[$_.Computer_Name]}} | ft

1 个答案:

答案 0 :(得分:0)

当您在调试器中查看它时,您是否尝试将该字段连接到Get-Member?我怀疑是格式表没有扩展的数组,但是当你将鼠标悬停在它上面时,调试器能够展开。您将$ Computers定义为数组。也许你只关心数组中的第一个元素,你可以将'Employee_Name'定义为数组的第一个元素而不是完整的数组(可能只是一个元素)。