Beim Starten der Windows PowerShell werden Standardmodule geladen und der Ort der Ausführung wird auf c:\users\username festgelegt. Möchte man beim Starten der PowerShell weitere Module laden, einen Alias für einen Befehl erstellen oder ganz einfach Informationen anzeigen, so empfiehlt sich das Erstellen eines PowerShell Profils.
Das Profil besteht aus einer PS1 Datei und liegt (wenn es erstellt wurde) im Ordner Dokumente des Benutzers und wird beim Start geladen. Das Profil wird nur auf den jeweiligen Benutzer angewendet.
Voraussetzungen überprüfen
Da die Profildatei bei jedem Start der PowerShell geladen wird, muss überprüft werden, ob die Executionpolicy das Ausführen von eigens erstellten Dateien vom Dateityp ps1 zulässt. Die Ausführungsrichtlinie sollte auf Remotesigned oder Unrestricted (nicht empfohlen) festgelegt sein.
Get-ExecutionPolicy
Zeigt der Wert Restricted dann muss die Executionpolicy angepasst werden.
Set-ExecutionPolicy RemoteSigned
Erstellen der Profildatei
Nun kann die Datei mit New-Item erstellt werden.
New-Item -ItemType File -Path $Profile -Force
Die Profildatei befindet sich nun wie im Windows Explorer ersichtlich im Benutzerprofil unter C:\Benutzer\BenutzerName\Dokumente\WindowsPowerShell.
Erstellen eines Skripts
Nun öffnet man die Datei. Ich empfehle für das Bearbeiten PowerShell ISE.
Nun kann das Skript angepasst werden. Als Beispiel möchte ich mein Skript zeigen, welches
- eine Begrüßung zeigt (in grün)
- den angemeldeten Benutzer anzeigt
- das Datum aufruft
- das Standardvereichnis ändert
- und einen Alias anlegt
Write-Host "Willkommen auf" (Invoke-Expression hostname) -ForegroundColor Green Write-Host "Sie sind angemeldet als" (Invoke-Expression whoami) Write-Host "Heute ist der" (Get-Date) Set-Location c:\ New-Alias Time Get-Date -Force
Beim Start der PowerShell wird die Profildatei geladen und alle Befehle werden nacheinander ausgeführt.
Der konfigurierte Alias Time ist ebenfalls verfügbar und ruft Get-Date auf.
Quelle: https://technet.microsoft.com/de-at/library/ff461033.aspx
Mein Profil
Abschließend möchte ich meine Profil-Datei teilen. Da ich auf C: starten möchte, den Bildschirm geleert haben möchte und auch die Größe des Fensters eher klein haben möchte schaut es so aus:
set-location c:\ cls $Shell = $Host.UI.RawUI $size = $Shell.WindowSize $size.width=80 $size.height=34 $Shell.WindowSize = $size $size = $Shell.BufferSize $size.width=80 $size.height=3000 $Shell.BufferSize = $size
Categories: PowerShell
2 replies »