NWC Services Blog
PSX Snippets (PS Profile)
Wie schon angekündigt starten wir unsere "Schnipseljagd" relativ einfach damit, dass wir uns mit der EMDB verbinden und anschließend hierfür ein eigenes kleines PowerShell Profil erstellen, welches beim Starten der PowerShell sofort geladen wird. Dieser Schritt wird eine grundlegende Voraussetzung für alle weiteren Codeschnipsel werden, weshalb ich diesen nun etwas genauer beschreiben möchte.
Nachdem wir die PowerShell Console gestartet haben, können wir uns mit dem Befehl Get-PSSnapin –reg alle Snap-Ins anzeigen lassen die im System registriert wurden. Hier werden auch Snap-Ins angezeigt die der aktuellen Sitzung noch nicht hinzugefügt wurden. Sollte das Snap-In NwcServices.BlsAdministration nicht angezeigt werden, ist bei der PSX Installation bereits etwas schief gelaufen.
Als nächstes fügen wir unserer Sitzung das PSX Snap-In hinzu.
Um nun auf unsere DSM Objekte Zugriff zu haben, müssen wir uns die EMDB als PowerShell-Laufwerk verbinden. Mit dem Cmdlet New-PsDrive kann genau dies erreicht werden. Hierzu werden die Parameter -Name, -PSProvider und -Root benötigt.
Der Name definiert lediglich den Namen unseres neuen Laufwerks. Hierbei sind wir nicht an bestimmte Zeichenfolgen gebunden. Wichtig ist jedoch, dass PowerShell bei Laufwerksnamen zwischen Groß- und Kleinschreibung unterscheidet.
PSProvider gibt den Anbieter an, welcher für den Laufwerkstyp zuständig ist. Sollten wir hier versuchen eine normale Netzwerkfreigabe oder ein Verzeichnis im Dateisystem dem PowerShell-Laufwerk zuzuordnen, wäre der Anbieter "FileSystem". In unserem Fall lautet der PSProvider jedoch "Blsemdb".
Zu guter Letzt muss über Root noch der Speicherort für das Laufwerk angegeben werden. (\\MYBLSSERVER)
Haben wir nun alles richtig gemacht, sollte sich nach Betätigen der Eingabe-Taste die Verbindung zum BLS aufbauen.
Um Objekte zu suchen/finden können wir nun auf unser Laufwerk wechseln und uns wie gewohnt durch die Verzeichnisstruktur hangeln.
Kommen wir nun zu unserem PowerShell Profil.
PowerShell bietet die Möglichkeit, Profile zu generieren über die nicht nur das Aussehen der Shell verändert werden kann, sondern auch Aliase oder ganze Funktionen hinterlegt werden können. Zu Beginn unserer PowerShell Session können wir uns über $profile den Pfad und Namen unseres Profils anzeigen lassen. Wenn wir nun versuchen diese Datei über den Explorer zu suchen und zu editieren, werden wir diese allerdings noch nicht finden. Wenn man sich diesen Schritt ersparen möchte, kann die Existenz des Pfades bzw. der Datei auch mit Test-Path $profile überprüft werden. Sollte uns hier False zurückgemeldet werden, müssen wir die Datei erst generieren.
Unter dem Pfad "%systemroot%\system32\WindowsPowerShell\v1.0" findet sich ebenfalls eine Datei mit identischem Namen. Änderungen an dieser Stelle betreffen jedoch immer alle Benutzer.
Wir können nun unser Profile.ps1 über einen beliebigen Editor öffnen und für unsere Zwecke anpassen. Folgendes kleines Profil habe ich für Sie vorbereitet.
Mit diesem Script wird beim Starten der PowerShell zunächst eine Meldung ausgegeben, was passiert. Über den Parameter –foreground kann die Schriftfarbe für die Ausgabe festgelegt werden. Unsere zuvor manuell erledigten Schritte zum Verbinden der EMDB werden nun automatisch ausgeführt. Über (Get-Host).UI.RawUI können die Eigenschaften der aktuellen Sitzung angepasst werden (Farbe, Fenstergröße, Titel). Zu guter Letzt wechseln wir noch auf unser frisch verbundenes Laufwerk direkt unter Managed Users & Computers.
Nach erfolgreichem Speichern unseres neuen Profils können wir die PowerShell erneut öffnen und unser Werk bewundern.
When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.
Kommentare