Profil erweitern

Erinnerung, falls wir noch keine Profilumgebung besitzen: (siehe Test-Path $PROFILE)

Schnell eine Profildatei für den aktuellen User (CurrentUser) und den aktuellen Host (CurrentHost; also PowerShell Konsole oder ISE) erstellen:

New-Item $PROFILE -ItemType file –Force                 # bzw. noch genauer:
New-Item $PROFILE.CurrentUserCurrentHost -ItemType file –Force

Eine kleine Beispiel-Profildatei mit:

  • Anpassungen Titelleister von Host Console

  • Alias für notepad++

  • Funktion cdd (Change Directory with Dialog)

Profilbeispiel
 1# Beispiel Profildatei $PROFILE
 2# Title der Shell einstellen - nach Schwichtenberg
 3$WI = [System.Security.Principal.WindowsIdentity]::GetCurrent()
 4$WP = New-Object System.Security.Principal.WindowsPrincipal($wi)
 5if ($WP.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator))
 6{
 7 $Status = "[elevated user]"
 8}
 9else
10{
11 $Status = "[normal User]"
12}
13
14$Host.UI.RawUI.WindowTitle  = "PowerShell - " + [System.Environment]::UserName  + " " + $Status 
15
16# Beispielalias
17Set-Alias np++ 'C:\Program Files (x86)\Notepad++\notepad++.exe'
18
19# Beispielfunktion cdd - Change Dir with Dialog
20function cdd {
21$shell = New-Object -comObject "Shell.Application"
22$options = 0x51 # Nur Dateisystem-Ordner - inklusive Edit-Box
23$loc = $shell.BrowseForFolder(0, "Wohin soll es gehen?", $options)
24if($loc) {Set-Location $loc.Self.Path}
25}

Hier lassen sich jetzt beliebig die Techniken der PowerShell (Aliase, Provider/Drives, Funktionen) integrieren.