Ich fasse hier im Faden mal meine Einfälle, Ideen, Scripte und Fundstücke zum Thema Powershell zusammen. Der erste Post wird das Inhaltsverzeichnis.
Ich fasse hier im Faden mal meine Einfälle, Ideen, Scripte und Fundstücke zum Thema Powershell zusammen. Der erste Post wird das Inhaltsverzeichnis.
Geändert von lowcut (04.03.2014 um 21:06 Uhr)
natura non facit saltus
Gelegentlich werde ich mal gefragt welche Rechte ein bestimmter User hat. Bei uns kann man die Rechte ganz gut an den Gruppenmitgliedschaften in der AD auslesen.
Im ersten Teil bis zum Pipe lese ich die Gruppen am Userobjekt aus und im hinteren Teil schränke ich die Auswahl nur auf die Namen der Gruppe ein. Und schon hab ich eine gut lesbare Liste.get-adprincipalgroupmembership $username | select name
natura non facit saltus
Es kommt vor das nicht klar ist zu welchem Postfach eine Mailadresse gehört. Das lässt sich in einer Exchange Umgebung leicht ermitteln.
Zuerst hole ich mir alle Empfängeradresse. Nach dem ersten Pipe suche ich der Liste nach allen bei denen die Mailadresse hinterlegt ist. Und im letzten Teil gebe ich das Ergebnis mit den Objekteigenschaften Name und Mailadresse des Postfaches aus. Funktioniert ab Exchange 2010.get-recipient -resultsize unlimited|where {$_.emailaddresses -match “info@spielersofa.de”} | select name,emailaddresses
natura non facit saltus
Zufällig im Netz gefunden, getestet und für nützlich befunden. Mit diesem Befehl kann ich nicht nur die installierten Windowsupdates auf dem System sehen sondern auch vonwann und von wem diese installiert wurden.
Das kann man dann etwas erweitern so das man am Ende eine Textdatei mit den Informationen hat.Get-Wmiobject Win32_Quickfixengineering
Vor dem Pipe frage ich die wie oben die Informationen ab. Nach dem Pipe leite ich die Informationen in eine Datei um. Dabei setze ich den Platzhalter $env:computername ein um den lokalen Rechnernamen zu ermitteln bzw. als Dateiname zu benutzen.Get-Wmiobject Win32_Quickfixengineering|Out-File -Filepath c:\temp\$env:computername.txt
Man kann das ganze dann erweitern und ganze Server- und/oder Client-Umgebungen per Script überprüfen.
natura non facit saltus
Es kommt immer mal vor, das ein Dienst oder eine Applikation hängenbleibt oder in einem unklaren Status verbleibt. Im ersten Schritt suche ich mir den Prozess in der Liste raus. Unter Windows laufen mehr als 100 Prozesse. Da kann eine Suchhilfe nicht schaden.. Zum Beispiel hier mit Winword.exe.
In der Liste suche ich mir die passende ID raus und kann den Prozess dann stoppen.get-process win*
Nach der Ausführung kann die Applikation oder der Service wieder gestartet werden.stop-process -id 2744
natura non facit saltus