Tag-Archiv für » server «

17 | 08 | 2016

PowerShell Hack: Schnelle Übersicht über Updates gewinnen

Geschrieben von um 12:01 Uhr

Wenn wir „einfach nur“ wissen wollen, wann auf einem Haufen Maschinen zuletzt Updates installiert wurden und wie viele noch jeweils ausstehen, kann man sich wie folgt behelfen:

$servers = @('SERVER01'
,'SERVER02'
,'SERVER03'
# usw.
)
$script_block = $ExecutionContext.InvokeCommand.NewScriptBlock(@'
$wu_session = New-Object -COM "Microsoft.Update.Session";
$wu_searcher = $wu_session.CreateUpdateSearcher();
$last_instd = ($wu_searcher.QueryHistory(0,1)).Item(0).Date;
$wures = $wu_searcher.Search("IsInstalled=0 and Type='Software'");
$updates_to_install = $wures.Updates.Count;
"$($env:COMPUTERNAME) | $last_instd | $updates_to_install"
'@)
Invoke-Command -ComputerName $servers -ScriptBlock $script_block

Die Reihenfolge der zurückgelieferten Ergebnisse läßt sich hier aber nicht vorhersagen. Möchte man die Ergebnisse genau in der Reihenfolge sehen, wie die Server eingegeben wurden, müsste man den Aufruf einzeln auslösen. Die letzte Zeile ist dann durch

foreach ($server in $servers) {
    Invoke-Command -ComputerName $server -ScriptBlock $script_block
}

zu ersetzen.

Die Auswahl der zu untersuchenden Computer läßt sich freilich auch automatisieren. Um z.B. Überblick über alle Computer in einer OU zu gewinnen, kann man Anfang die Definition des Arrays durch

$servers = (Get-ADComputer -Filter * -SearchBase "OU=Computer,OU=Firma,DC=meine,DC=domain,DC=de" -SearchScope Subtree).Name

ersetzt werden.

Tags » , , , «

+

27 | 06 | 2013

Windows Cluster, iSCSI IQN und SCSI-3 Reservation

Geschrieben von um 11:05 Uhr

Bei der Validierung einer Windows Failover Cluster-Konfiguration (2 Knoten, EqualLogic SAN, Server 2012, Software-Initiator) kam die gefürchtete Fehlermeldung „SCSI-3 Permanent Reservation Error“. Da es speziell mit der EqualLogic auch in der Vergangenheit schon sehr anstrengend war, dieses Fehlerbild zu entstören, hatte ich mich moralisch schon auf eine lange Fehlersuche eingestellt. Zum Glück war das Problem in diesem Fall einfach gelagert:

Die beiden Clusterknoten hießen (geändert) sap-db-01-node1 und sap-db-01-node2. Bei der Generierung der iSCSI-IQNs hat anscheinend Server 2012 die Ziffer am Schluss abgeschnitten, womit die IQNs der beiden Knoten identisch waren! Da klappt es natürlich nicht mit dem Nachbarn 😉

Tags » , , , «

+

27 | 08 | 2012

WMI Event 10 nach Neuinstallation von Windows Server 2008 R2 SP1

Geschrieben von um 13:21 Uhr

Der folgende kleine Skript beseitigt den WMI-Fehler 10, der bei einem frisch installierten Server auftritt:

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\subscription")

Set obj1 = objWMIService.ExecQuery("select * from __eventfilter where name='BVTFilter' and query='SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA ""Win32_Processor"" AND TargetInstance.LoadPercentage > 99'")

For Each obj1elem in obj1
set obj2set = obj1elem.Associators_("__FilterToConsumerBinding")
set obj3set = obj1elem.References_("__FilterToConsumerBinding")
For each obj2 in obj2set
WScript.echo "Deleting the object"
WScript.echo obj2.GetObjectText_
obj2.Delete_
Next
For each obj3 in obj3set
WScript.echo "Deleting the object"
WScript.echo obj3.GetObjectText_
obj3.Delete_
Next
WScript.echo "Deleting the object"
WScript.echo obj1elem.GetObjectText_
obj1elem.Delete_
Next

Als VBS abspeichern, auf den Server kopieren, ausführen – fertig.

Tags » , , , , «

+