PowerShell

PowerShell Techguy.at

Auslesen der DPM Tapes inklusive Ablaufdatum

PowerShell

Dieses Script hat mir schon sehr viel geholfen, deshalb möchte ich es euch zur Verfügung stellen.

Ich hatte immer wieder die Anforderungen bei Kunden, das Sie eine Aufstellung der Bänder benötigen die Sie aus der Library nehmen können und gleichzeitig wollten Sie auch wissen, wann diese Bänder ablaufen.

Natürlich kann man diese Information aus der Konsole erhalten, doch das ist doch etwas mühsam, gerade bei vielen Bändern.

Deshalb habe ich ein Skript geschrieben, welches alle Tapes aus der Library ausliest die “Offsite Ready” sind, deren Ablaufdatum herausfindet und mit der Bezeichnung und der Slot Nummer in ein CSV schreibt.

Somit hat der Kunde sofort eine Liste welche Bänder er aus der Library nehmen kann, und gleichzeitig eine Doku zu welchem Zeitpunkt dieser wieder frei sind, sprich dessen Daten abgelaufen sind.

PowerShell Techguy.at

Meine PowerShell Scripts zum Download

PowerShell

Ich habe ja im Dezember 2013 eine Aktion gestartet in der ich jeden Tag im Advent einen Beitrag zu PowerShell veröffentlicht habe, leider habe ich 2 Tage nicht geschafft somit sind es nur 22 der geplanten 24 Beiträge geworden.

Dennoch denke ich das für jeden hier ein Beitrag dabei ist und ich werde in Zukunft sicherlich weiter Beiträge zu PowerShell schreiben. Dazu habe ich bereits einige Ideen.

Hier nochmal der Link zur Aktion: https://www.techguy.at/tag/adventshell/

Ich habe euch während dieser Aktion einige Scripte erstellt die ihr bei euch nutzen könnte, hier die Aufstellung

PowerShell Techguy.at

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.

PowerShell Techguy.at

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.

PowerShell Techguy.at

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…..

PowerShell Techguy.at

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.

PowerShell Techguy.at

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:

PowerShell Techguy.at

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.

PowerShell Techguy.at

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.

PowerShell Techguy.at

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