我正在運行鍼對Active Directory的PowerShell報告,以查找過去90天內已登錄的所有Windows 7計算機。查找在過去90天內登錄的所有Windows 7計算機
我經常使用這個報告與Quest清理AD,這是我正在尋找的確切的細節,以找到活動的Windows 7個,我可以很容易地通過審覈。
Get-QADComputer -InactiveFor 90 | export-csv -path c:\deadclients.csv
誰能告訴我怎麼修改這個命令?
我正在運行鍼對Active Directory的PowerShell報告,以查找過去90天內已登錄的所有Windows 7計算機。查找在過去90天內登錄的所有Windows 7計算機
我經常使用這個報告與Quest清理AD,這是我正在尋找的確切的細節,以找到活動的Windows 7個,我可以很容易地通過審覈。
Get-QADComputer -InactiveFor 90 | export-csv -path c:\deadclients.csv
誰能告訴我怎麼修改這個命令?
我能夠使用從該站點到Find Windows XP Computers Still Alive in Your Active Directory Domain的腳本並將其修改爲Windows 7.
在Excel中,我過濾了計算機通過Last Logon Timestamp。
我想他是要求這個命令做的相反版本(它返回的計算機超過90天,他希望那些更近期)。
我不熟悉任務cmdlet,但這裏是您如何使用本機AD cmdlet執行此操作。你也許可以看到我在做什麼,把它調整到您的需求,如果你仍然想使用的追求的東西...
你將要注意get-adcomputer -filter * -prop LastLogonDate | ? {$_.LastLogonDate -gt (Get-Date).AddDays(-104)} | select name,lastlogondate
的一件事是,lastlogondate屬性是不準確的,可即使計算機最近登錄的時間比當前日期晚14天,因此您會考慮調整搜索參數。在這種情況下,我將它改爲104。
下面是一篇文章,解釋財產,爲什麼它落後的設備的實際最後登錄背後:
編輯:更新了答案 -
$date = (get-date).AddDays(-104)
get-adcomputer -filter { LastLogonDate -gt $date -and OperatingSystem -like "Windows 7*"} -prop LastLogonDate,OperatingSystem |
select name,lastlogondate,OperatingSystem,distinguishedname
我強烈建議將其更改爲在供應商處進行過濾。 '-Filter {LastLogonDate -gt(get-date).AddDays(-104)}'。然後刪除'?{...}'部分。在提供者級別進行篩選比獲取所有結果(在本例中爲AD中的每個計算機對象)更快,然後使PowerShell篩選所有結果。 – TheMadTechnician 2014-10-01 20:56:37
是的,這是我需要從我有的命令做的相反。 諾亞這一個是我需要的,但有沒有辦法只顯示Windows 7和AD容器的電腦? – user2776281 2014-10-02 09:13:31
@TheMad - 公平點,語法需要有點不同,但它更有效率......出於好奇,我測量了它以後再過濾,並在我們的環境中使用9016個計算機對象在提供程序上過濾了3秒。 – 2014-10-02 13:38:54
你能澄清一下你的問題嗎?爲什麼你不能使用你的問題中包含的命令? – aphoria 2014-10-01 16:27:37
你想修改這個命令,但是你沒有解釋你想要什麼或者什麼程度。 – Matt 2014-10-01 16:28:41