-1

我希望针对 Active Directory 运行 PowerShell 报告,以查找过去 90 天内登录的所有 Windows 7 电脑。

我经常将此报告与 Quest 一起使用来清理 AD,这是我正在寻找的确切细节,以便找到活动的 Windows 7 电脑,然后我可以轻松地过滤这些电脑以进行审核。

Get-QADComputer -InactiveFor 90 | export-csv -path c:\deadclients.csv

谁能告诉我如何修改这个命令?

4

2 回答 2

0

我认为他要求的是此命令的相反版本(它返回 90 天以上的计算机,他想要更新的计算机)。

我不熟悉 quest cmdlet,但这里是使用本机 AD cmdlet 的方法。如果您仍然想使用任务的东西,您可能会看到我在做什么并根据您的需要进行调整......

get-adcomputer -filter * -prop LastLogonDate | ? {$_.LastLogonDate -gt (Get-Date).AddDays(-104)} | select name,lastlogondate

您需要注意的一件事是 lastlogondate 属性不准确,即使计算机最近登录的时间也可能比当前日期晚 14 天,因此您需要考虑将搜索参数调整为结果。在这种情况下,我将其更改为 104。

这是一篇文章,解释了该属性以及为什么它落后于设备的实际上次登录:

http://blogs.technet.com/b/askds/archive/2009/04/15/the-lastlogontimestamp-attribute-what-it-was-design-for-and-how-it-works.aspx

编辑:更新的答案 -

$date = (get-date).AddDays(-104)
get-adcomputer -filter { LastLogonDate -gt $date -and OperatingSystem -like "Windows 7*"} -prop LastLogonDate,OperatingSystem | 
select name,lastlogondate,OperatingSystem,distinguishedname
于 2014-10-01T19:09:39.383 回答
0

我能够使用该站点中的脚本在您的 Active Directory 域中查找仍然存在的 Windows XP 计算机并将其修改为 Windows 7。

然后,在 Excel 中,我按上次登录时间戳过滤了计算机。

于 2014-10-02T12:49:16.807 回答