PowerShell

Erstellen eines PowerShell Profils

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

Unbenannt.PNG

Zeigt der Wert Restricted dann muss die Executionpolicy angepasst werden.

Set-ExecutionPolicy RemoteSigned

3.PNG

Erstellen der Profildatei

Nun kann die Datei mit New-Item erstellt werden.

New-Item -ItemType File -Path $Profile -Force

4.PNG

Die Profildatei befindet sich nun wie im Windows Explorer ersichtlich im Benutzerprofil unter C:\Benutzer\BenutzerName\Dokumente\WindowsPowerShell.

Bild1

Erstellen eines Skripts

Nun öffnet man die Datei. Ich empfehle für das Bearbeiten PowerShell ISE.

5.PNG

Nun kann das Skript angepasst werden. Als Beispiel möchte ich mein Skript zeigen, welches

  1. eine Begrüßung zeigt (in grün)
  2. den angemeldeten Benutzer anzeigt
  3. das Datum aufruft
  4. das Standardvereichnis ändert
  5. und einen Alias anlegt

7.PNG

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.

8.PNG

Der konfigurierte Alias Time ist ebenfalls verfügbar und ruft Get-Date auf.

9.PNG

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

Tagged as: ,

2 replies »

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.