PowerShell IF

Heute befassen wir uns mit der IF Logik in PowerShell. Wie in jeder Programmiersprache besitzt auch PowerShell eine “IF” Funktion die eigentlich schon fast selbsterklärend ist.

Dennoch gibt es immer wieder Fragen zum Syntax und zu verschachtelten IF Abfragen und zu mehrfachen Bedingungen.

Deshalb gibt es heute diesen Beitrag zu PowerShell “IF

Der Einstieg

Beginnen wir mit einem einfachen Beispiel. Wir wollen die Variable “$Geschlecht” abfragen ob dieses männlich oder weiblich ist.

(Read more…)

Noch schneller mit PowerShell

PowerShell

Wer die letzten 22 PowerShell Artikel hier verfolgt hat, der sollte nun wissen das mit PowerShell sehr viele Möglichkeiten bestehen, Abläufe und Workflows zu beschleunigen.

Es gibt aber noch einen Trick um das Schreiben von Scripts zu beschleunigen, und zwar mit PowerShell Alias.

Dies ist nichts anderes als eine Abkürzung der CMDlets, als Beispiel

“Get-WMIObject” kann auch als “gwmi” geschrieben werden.

Wer sich jetzt nicht alle Abkürzungen merken will, für den gibt es eine einfache Lösung.

Einfach in der PowerShell Konsole folgendes Kommando ausführen

Get-Alias

und schon werden alle Abkürzungen und deren CMDlet aufgelistet, und natürlich könnt ihr auch das Kommando “Get-Alias” nochmal abkürzen, und zwar mit “gal”

Viel Spaß beim suchen der Abkürzungen

Michael Seidl aka Techguy

Ablaufdatum des Passwortes der AD User mit PowerShell auslesen


PowerShell

Im heutigen Artikel zeige ich euch ein Script, mit dem ihr alle User aus dem AD auslesen könnt, des Passwort bereits abgelaufen ist oder in den nächsten tage abläuft.

Dies kann in mehren Situationen hilfreich sein. In meinem Anwendungsfall wollte ein Kunde deren Tablet-User 10 Tage vor Ablauf des Passwortes per Mail benachrichtigen, damit diese genug Zeit haben Uhr Passwort zu ändern.

Das ganze wurde mittels Orchestrator umgesetzt, ich zeige euch hier aber das PowerShell welches mir die Informationen ausliest.

Das Script

Zu Beginn natürlich wieder das Active Directory Modul importieren.

(Read more…)

Active Directory Objekte mittels PowerShell wiederherstellen

PowerShell

Wer nicht in den Genuss eines aktuellen Active Directory’s kommt, also ab der Version 2012, der muss eine gelöschtes Active Directory Objekt (User, Gruppen, Computer) noch mittels PowerShell wieder herstellen.

Leider gibt es den grafischen Papierkorb erst ab Version 2012, somit zeige ich euch heute wie ihr einen gelöschten Active Directory Benutzer wieder herstellen könnt, vorausgesetzt der AD Papierkorb ist auch aktiv.

Informationen zum AD Papierkorb findet ihr hier: http://technet.microsoft.com/en-us/library/dd392261(v=ws.10).aspx

Wir kümmern uns jetzt um die PowerShell.

Das Script

Zu Beginn importieren wir mal wieder das Active Directory PowerShell Module

Import-Module activedirectory

Danach können wir mit folgendem Kommando alle Objekte ausgeben die gelöscht wurden und bei denen wir die Option zur Wiederherstellung haben. Dieses Kommando liefert uns alle AD Objekte, egal ob User, Computer, Gruppen…..

(Read more…)

PowerShell Version auslesen

PowerShell

Diesmal ein ganz kurzer Beitrag, aber genau so wichtig wie die anderen.

Mittlerweile gibt es die PowerShell in der Version 4 und in jeder Version sind CMDlet’s und Funktionen dazu gekommen da kann es natürlich nützlich sein die aktuelle PowerShell Version zu kennen.

Da die PowerShell Version nicht vom Betriebssystem abhängig ist, können wir uns also auch nicht verlassen.

Aber wir haben Glück, es gibt ein Kommando welches uns die Version ausgibt.

(Read more…)

WMI und PowerShell

PowerShell

Was ist WMI?

Benötige ich WMI noch wo doch PowerShell so viel besser ist?

Der eine oder andere wird sich diese Fragen nun stellen und ich muss sagen, WMI wird noch benötigt.

Kommt sicherlich auf die Aufgabenstellung an, aber ich habs jetzt doch schon einige Male benötigt damit meine Scripts sauber arbeiten.

Es können mittlerweile sehr viele Werte mittels PowerShell abgefragt oder gesetzt werden, aber leider noch nicht alle.

Somit benötigen wir noch WMI, wie das funktioniert zeige ich euch in diesem Artikel

WMI Abfragen

Den meisten sollte die WMI Klasse Win32_OperatingSystem bekannt sein, diese versuchen wir nun mal mittels PowerShell abzufragen

Get-WmiObject -Class Win32_OperatingSystem

Als Ergebnis erhalten wir folgendes:

(Read more…)

Mac Adresse mit PowerShell überprüfen und reparieren

PowerShell

Ich musste vor kurzem die Eingabe einer MAC Adresse überprüfen, ob diese korrekt ist.

Natürlich habe ich dazu PowerShell verwendet und möchte euch heute das Script dazu zeigen.

Ziel ist es, die Eingabe auf das korrekte Format zu überprüfen und gegeben falls den Fehler zu korrigieren, wobei wir hier natürlich etwas eingeschränkt sind.

sollte die Adresse unvollständig sein, kann das beste Script diese Problem nicht lösen, war wir aber machen können ist das Format der Mac Adresse zu bestimmen, und die Ausgabe zu formatieren.

Das Script

Wir arbeiten hier teilweise mit Regular Expression um die Mac Adresse zu überprüfen, aber jetzt zum Script.

(Read more…)

Rename AD User mit PowerShell

PowerShell

Heute mal wieder ein PowerShell Script zu Active Directory. Ich musste vor kurzem für einen automatischen Usereintritt und Userrochade einen User umbenennen.

Es gab hier mehrere Möglichkeiten, es gibt ein Rename-ADObject CMDLet, diese ändert aber nur den Displayname und Ad Name.

Ich hatte jedoch die Anforderung zusätzlich den Vornamen, Usernamen und SamAccountName zu ändern.

Dementsprechend müssen dann auch noch die Pfade zum Profil und HomeDirectory geändert werden, also gibt’s mal wieder ein PowerShell Script zum kompletten Rename des Ad Users.

Das Beispiel

Für unser Beispiel gibt es den User “Jasmine Hofmeister” mit dem aktuellen Usernamen “HofmeisterJ”.

Dieser User heiratet und bekommt den neuen Nachnamen “Seidl”.

Hier ändert sich also der Usernamen, Displayname, Name, Nachname und die Pfade.

(Read more…)

Datasources mittels PowerShell aus DPM Schutzgruppe entfernen

PowerShellHeute mal wieder ein PowerShell Script zu System Center Data Protection Manager.

In diesem zeige ich euch ein einfaches Beispiel um eine SQL Datenbank aus einer Schutzgruppe am SCDPM zu entfernen.

Ich hatte euch hier den Weg gezeigt wie ihr eine Datasource der Schutzgruppe hinzufügen könnt,  jetzt machen wir das Gegenteil.

Das Script ist so aufgebaut das genau eine Source hinzugefügt wird, kann aber sehr schnell umgeschrieben werden um mit mehreren Datasources zu arbeiten.

Zuerst einmal gehen wir die einzelnen Bereiche, Schritt für Schritt durch, am Ende mal wieder de Download zum gesamten Script.

Der Anfang

Zu Beginn importieren wir die SCDPM CMDlets

#Import Modules
Import-Module DataProtectionManager

Danach setzen wir unsere benötigten Variablen

$Protectiongroup = Die Schutzgruppe aus der wir die Datasource entfernen wollen
$Database = Der Name unsere SQL Datenbank
$DPMServer = Der DPM Server auf dem die Schutzgruppe existiert

(Read more…)

Orchestrator Ordnerstruktur im Filesystem erstellen

PowerShell

Heute stelle ich euch mein aktuelles Lieblingsscript vor. Einerseits weil ich schon lange davon geredet habe das ich so was benötige, andererseits weil ich ein bisschen stolz bin es ganz alleine geschrieben zu haben.

Es geht darum die Ordnerstruktur aus dem Runbook Designer im Filesystem abzubilden.

Warum mir das so wichtig ist und warum euch diese Skript dabei helfen kann euren SCO zu bereinigen, zeige ich euch in diesem Artikel.

Warum dieses Script?

Ich halte mich doch sehr an die Regeln oder Best Practice Empfehlungen von Microsoft und erstelle pro Ordner nur ein Runbook, somit besitze ich in meiner SCO Umgebung sehr viele Ordner.

(Read more…)