Auch der WSUS bietet mittlerweile die Möglichkeiten sich per Powershell abfragen zu lassen. Das ist besonders nützlich für ein automatisiertes Reporting oder auch für die Eine oder Andere Verwaltungsaufgabe oder standardisierte Konfiguration.

Als erstes wird die Verbindung zum WSUS in der Powershell aufgebaut:

$selected_server=mywsus
$wsus_tcp_port=8530
[void][reflection.assembly]::LoadWithPartialName(“Microsoft.UpdateServices.Administration”)
$wsus=[Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($selected_server,$FALSE,$wsus_tcp_port)

Durch den Aufruf der Variable “$wsus” könnt ihr nun sehen mit welchen WSUS ihr verbunden seid und wie er im groben konfiguriert ist.

$wsus

wsus_powershell_serachcomputertargets_1

 

Ich erläutere hier nun nicht alle Befehle, Möglichkeiten, aber wer weiter mit Powershell in den WSUS abtauchen möchte, sollte unbedingt einen Blick auf die möglichen Parameter werfen. Dazu ruft ihr den folgende Befehl auf:

$wsus | Get-Member –Type Method

wsus_powershell_get-member_1

 
 
Ich frage den WSUS gerne mal zu den Systemen ab, um deren Hardware- und Softwareversionen zu erhalten. Dazu nutzt ihr $wsus.SearchComputerTargets(„Teil des Hostnames“) | ft

Wer eine Übersicht über alle angebundenem Betriebssystem, Hardwaremodell etc. erzeugen möchte, kann dies mit dem $wsus.GetComputerTargets()machen:

$wsus.GetComputerTargets() | group-object -property OSDescription

wsus_powershell_get-computertargets_3

$wsus.GetComputerTargets() | group-object -property Model

wsus_powershell_get-computertargets_2

 

 

Für eine detailliertere Liste mit den Clientnamen…

$wsus.GetComputerTargets() | ft -Property FullDomainName,OSDescription -AutoSize

Wer tiefer in die Verwaltung des WSUS mit Powershell abtauchen möchten, findet im Technet von den ScriptingGuys sehr viele anschauliche Erklärungen.https://blogs.technet.microsoft.com/heyscriptingguy/2013/05/27/use-the-updateservices-module-to-manage-wsus/

WSUS per Powershell abfragen/ansprechen
Tagged on: