2016-07-13 14 views
-1

對不起,如果問題措辭的方式令人困惑,但基本上我需要一種方法來檢查所有計算機是否在網絡上更新,因爲我最近在服務器上進行了服務調用一名員工的電腦,並注意到它在一年內沒有更新。有沒有辦法檢查網絡上的每臺計算機是否更新?我的僱主專門爲所有員工工作站使用Windows 7專業版。有沒有辦法使用PowerShell來實現這個任務的自動化?如何檢查網絡上的計算機是否正在運行更新的窗口

+0

嗨,歡迎,1.你有什麼嘗試? 2.用你的話來說,計算機「更新」意味着什麼?您是否在尋找安裝的特定KB?請使用編輯按鈕將細節**和代碼**添加到您的問題。 – sodawillow

回答

1

你可以做下面的內容:

# Import CSV with Workstation HostNames 
$RemoteComputers = Import-Csv -Path C:\SomePath\CSVwithHostNames.csv 

# Get Last Windows Update Install Date from Remote Computers 
# If you don't want to use CSV you can specify like -Computername PC1, PC2, PC3 
# You could also pull hostnames from Active Directory and store as variable 

#PowerShell 2 or Below 
Get-WmiObject -ComputerName $RemoteComputers -Class Win32_QuickFixEngineering -Property InstalledOn | Sort InstalledOn -Descending | Select InstalledOn, PSComputerName -First 1 

#PowerShell 3 or Higher 
Get-CimInstance -ComputerName $RemoteComputers -ClassName Win32_QuickFixEngineering -Property InstalledOn | Sort InstalledOn -Descending | Select InstalledOn, PSComputerName -First 1 

輸出會是什麼樣子:

InstalledOn   PSComputerName RunspaceId       
-----------   -------------- ----------       
7/13/2016 12:00:00 AM SomePCNameHere 691237f3-6ac3-4c7d-a530-5d1717309cfb 

如果使用WSUS更新這將是更好/容易,只需運行報告,看看哪些工作站缺少更新。

希望這會有所幫助!爲了將來的參考,這不是一個代碼寫作服務,當提問時請包括您已經嘗試過的代碼,然後說明您使用該代碼的問題,因爲您更可能從社區接收答案。

+0

我想這需要在目標上啓用PowerShell Remoting? – sodawillow

+1

是的,這是正確的,這將需要啓用PowerShell遠程處理。生病編輯我的答案,以消除需要在主機上啓用PowerShell遠程處理。 –

相關問題