Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 格式表不显示列数据_Powershell_Active Directory - Fatal编程技术网

Powershell 格式表不显示列数据

Powershell 格式表不显示列数据,powershell,active-directory,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[$_.C

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

当您在调试器中查看它时,是否尝试通过管道传输该字段来获取成员?我怀疑Format Table并没有扩展的是数组,但当您将鼠标移到数组上时,调试器能够将其展开。您正在将$Computers定义为数组。也许您只关心数组中的第一个元素,您可以将“Employee_Name”定义为数组的第一个元素,而不是整个数组(可能只有一个元素)

您的域和林功能级别是什么?域美国城市计算机该部分工作正常,它返回计算机名和上次登录日期。当我调试并将鼠标悬停在EmployeeName列上时,它只会显示EmployeeName列,而不会在输出中显示它