Advertisement
Guest User

Untitled

a guest
May 6th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' -Properties * |
  2. Select-Object Name | Sort-Object Name |
  3. ForEach-Object {
  4. Get-WUHistory -ComputerName $_.Name | Sort-Object Date,ComputerName -Descending |
  5. Select-Object -First 1
  6. }
  7.  
  8. On Error Resume Next
  9. Set fso = CreateObject("Scripting.FileSystemObject")
  10. Set file = fso.OpenTextFile ("servers.csv", 1)
  11. server = ""
  12.  
  13. Do Until file.AtEndOfStream
  14. line = file.Readline
  15. server = line
  16. 'wscript.echo server
  17. Set objSession = CreateObject("Microsoft.Update.Session", server)
  18. If Err.Number <> 0 Then
  19. 'WScript.Echo server & " Error: " & Err.Number & " Error (Hex): " & Hex(Err.Number) & " Source: " & Err.Source & " Description: " & Err.Description
  20. WScript.Echo server & " Communications Error"
  21. Err.Clear
  22. Else
  23. Set objSearcher = objSession.CreateUpdateSearcher
  24. Set colHistory = objSearcher.QueryHistory(1, 1)
  25. For Each objEntry in colHistory
  26. Wscript.Echo server & " " & objEntry.Date
  27. Next
  28. End If
  29. Loop
  30.  
  31. file.Close
  32.  
  33. $ErrorActionPreference= 'silentlycontinue'
  34. Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' -Properties * | Select-Object Name |
  35. ForEach-Object {
  36. If (Test-Connection $_.Name -Count 1){
  37. Get-HotFix -ComputerName $_.Name | Sort-Object InstalledOn -Descending | Select-Object -First 1
  38. }
  39. else {
  40. Write-host $_.Name " Connection Error"
  41. }
  42. } |
  43. Sort-Object InstalledOn
  44.  
  45. Get-HotFix -ComputerName $_.Name | Measure-Object InstalledOn -Maximum
  46.  
  47. $ScriptBlock = {
  48. $hash=@{}
  49. $Session = New-Object -ComObject Microsoft.Update.Session
  50. $Searcher = $Session.CreateUpdateSearcher()
  51. $hash[$env:Computername] = $Searcher.QueryHistory(1,1) | select -ExpandProperty Date
  52. $hash
  53. }
  54.  
  55. Invoke-Command -ComputerName $serverlist -ScriptBlock $ScriptBlock
  56.  
  57. Name Value
  58. ---- -----
  59. Server1 5/16/2014 2:11:42 PM
  60. Server2 4/14/2014 1:55:03 PM
  61. Server3 5/6/2014 5:36:51 PM
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement