我正在使用下面的 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