需要查询陈旧的AD计算机帐户,但我们有VDI“黄金图像”,我不想禁用。我以为我可以使用“Where-Object”来过滤掉名称,但它失败了。有人可以帮我指出我哪里错了吗?
Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $then} | Where-Object {$Name -Notlike "*VDI*"} | FT Name,lastLogonDate
此代码为我提供了所有陈旧(90天的计算机帐户),但它仍然显示名称中带有VDI的计算机帐户。
尝试:
Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $then} | Where-Object {$Name -Notmatch "VDI"} | FT Name,lastLogonDate
感谢@Matt的帮助!
$ Name会在这里找到一个与“VDI”不匹配的null变量。 $ _。名字就是你想要的。另外我认为你可以在你的-Filter中添加该子句,所以你不必发布过程
我使用了以下答案:
Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $then} | Where-Object {$_.Name -Notlike "*VDI*"} | FT Name,lastLogonDate