PowerShell Profile – Aliasname, Funktionen, usw. automatisch zur Verfügung stellen.

Sie können Ihre persönliche PowerShell benutzerabhängig einrichten und zum Beispiel mit Aliasnamen oder vordefinierten Funktionen versehen. Dies lässt sich über Profildateien realisieren. Wie funktioniert das?

Es gibt insgesamt vier Profildateien für die PowerShell. In der Variablen $Profile ist zumindest einer der Pfadnamen gespeichert.

Deutlicher wird es, wenn Sie sich auch die anderen Profildateien anschauen.


Die Einzelnen Dateien haben folgenden Geltungsbereich:

AllUsersAllHosts

Wie der Name vermuten lässt, gilt diese Datei für alle User und alle PowerShell-Applikationen auf Ihrem System. Sie benötigen Administratorrechte, um diese Datei anzupassen.

AllUsersCurrentHost

Eintragungen in dieser Profildatei gelten für alle User, aber nur für PowerShell.exe und PowerShell_ISE.exe.

CurrentUserAllHosts

Hier liegt die schon erwähnte Profildatei, die nur für den aktuellen User aber für alle PowerShell Applikationen gilt.

CurrentUserCurrentHost

Zu guter letzt noch die Profildatei für den aktuellen User, aber auch nur für PowerShell.exe und PowerShell_ISE.exe.


Beispiel

In meinem Beispiel bearbeite ich nur die Profildatei, die für meinen User Gültigkeit besitzt. Ich lege eine Funktion zur Steuerung von iTunes ab, die mir den ersten Track einer angegebenen Playlist spielt. Eine Funktion für das CMDLet Get-History, die mir für allzu Neugierige eine Option für die zuletzt verwendeten Befehle zeigt und ich stelle die Textfarbe noch auf gelb.

Beim nächsten Start der PowerShell in Ihrem Userkontext sehen Sie dann folgendes mit musikalischer Untermalung 😉

Bei diesem “personalisieren” sind auch viele weitere Funktionen möglich. Sie können sich z.B. eigene PSDrives erstellen. Sie können auch über Get-Credential Ihre Anmeldeinformationen in einer Variable ablegen, die dann in jeder PowerShell Sitzung verfügbar ist. Auch eigene Aliasnamen für häufig verwendete Befehle sind darüber machbar. Und vieles mehr…

 

Leave a Reply

Your email address will not be published.

Time limit is exhausted. Please reload the CAPTCHA.