Hallo zusammen,
Im dritten Teil meiner Grundlagenserie zeige ich euch wie ihr euer Skriptumgebung anpassen könnnt.
Als Skript Editor nutze ich persönlich Notepad++ und die Powershell ISE, derzeit reicht mir das vollkommen aus.
Trotzdem hier eine kleine Liste von sehr guten Powershell Editoren.
Admin Script Editor (ASE) = http://www.itninja.com/community/admin-script-editor
PowerShell Plus – Idera = http://www.idera.com/productssolutions/freetools/powershellplus
DELL PowerGUI Script Editor = http://en.community.dell.com/techcenter/powergui/m/
PrimalScript 2014 = http://www.sapien.com/software/primalscript
Mit den Powershell Snippet Manager könnt ihr eure zahlreichen Skripte übersichtlich verwalten, arbeitet sehr eng mit der Dell PowerGUI zusammen.
Powershell Snippet Manager = http://bytecookie.wordpress.com/snippet-manager/
Hier die Hilfe rund um das Thema Profil
1 |
Get-Help about_Profiles |
Um sich ein eigenes Powershell Profil einrichten zu können, sollte man die Pfade dorthin kennen. Es gibt 6 Profile, die man sich anlegen kann.
1 2 3 4 5 6 |
$PROFILE | fl * -Force oder $Profile | Get-Member $Profile | Get-Member -MemberType NoteProperty |
AllUsersAllHosts = %SystemRoot%\System32\WindowsPowerShell\v1.0\profile.ps1
AllUsersCurrentHost = %SystemRoot%\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
AllUsersCurrentHost = %SystemRoot%\System32\WindowsPowerShell\v1.0\Microsoft.PowerShellISE_profile.ps1
CurrentUserAllHosts = %USERPROFILE%\Documents\WindowsPowerShell\profile.ps1
CurrentUserCurrentHost = %USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
CurrentUserCurrentHost = %USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
AllUsersAllHosts = Profil ist für alle Benutzer und alle Powershell Sitzungen gültig
AllUsersCurrentHost = Profil ist für alle Benutzer und nur die aktive Powershell Sitzungen gültig.
CurrentUserAllHosts = Profil ist nur für den aktiven Benutzer und alle Powershell Sitzungen gültig.
CurrentUserCurrentHost = Profil ist nur für den aktiven Benutzer und nur die aktive Powershell Sitzungen gültig.
Sollte es mal vorkommen dass alle Profile existieren, wird folgende Reihenfolge von Powershell abgearbeitet.
1. %SystemRoot%\System32\WindowsPowerShell\v1.0\profile.ps1
2. %SystemRoot%\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
3. %USERPROFILE%\Documents\WindowsPowerShell\profile.ps1
4. %USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Ich persönlich habe mir angewöhnt, nur das CurrentUserAllHosts Profil zu nutzen. Damit decke ich alle Powershell Versionen (x86, x64, ISE) auf meinen Rechner ab.
Mit folgenden Befehlen überprüft man, ob eine Profildatei vorhanden ist.
1 2 |
Test-Path $PROFILE.CurrentUserAllHosts ## Wenn der Wert false ist, legt man sich eine neue Profildatei an New-Item –Type file –Force $PROFILE.CurrentUserAllHosts |
Mit diesen Befehl kann man nochmal nachsehen, ob die Datei auch wirklich vorhanden ist. 🙂
1 2 |
Get-ChildItem $env:USERPROFILE\Documents\WindowsPowerShell notepad $PROFILE.CurrentUserAllHosts |
Und hier meine Beispiel Profildatei:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
### profile.ps1 - Anfang ### # # Angepasstes Powershell Profil # Last modified: 12.04.2014 # Setzen das Startverzeichnis Set-Location "D:\PowershellScripte" ## Ordner muss vorhanden sein # Angepasster Prompt function prompt { $msg = "HTDOM $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1))" Write-Host -ForegroundColor Blue -NoNewLine $msg; " " } # Angepasster Powershell Titel $a = (Get-Host).UI.RawUI $a.WindowTitle = "HTDOM - Powershell" # Setzt bestimmte Alias und Funktionen function pss{Set-Location D:\PowershellScripte} function c{set-location C:\} function d{Set-Location D:\} function .. {cd ..} function ... {cd ..\..} function .... {cd ..\..\..} function ..... {cd ..\..\..\..} function ws {Set-Location C:\Windows\System32} function npp {notepad $PROFILE.CurrentUserAllHosts} function np {start "C:\Program Files (x86)\Notepad++\notepad++.exe"} function ise {start "C:\Windows\System32\WindowsPowerShell\v1.0\powershell_ise.exe"} function module {Get-Module -ListAvailable | Where-Object {$_.Path -like "$PSHOME*"} | Import-Module} function about {Get-Help About_ | select name, synopsis | format-table -auto} function kb($id) {Start-Process "http://support.microsoft.com/kb/$id"} function applog {Get-EventLog Application -newest 100} function syslog {Get-EventLog System -newest 100} set-alias -Name gs -Value get-service –Description "mein: get-service" set-alias -Name gh -Value get-help –Description "mein: get-help" set-alias -Name tp -Value test-path –Description "mein: test-path" ### profile.ps1 - Ende ### |
Wer einen Tapetenwechsel für die PowerShell Konsole haben möchte, findet hier eine sehr guten Artikel.
http://tobivnext.wordpress.com/2012/03/07/powershell-konsoleneigenschaften-anpassen/
Kleiner Tipp noch am Rande, im Artikel wird das Wort fallen RGB Farben sind in BGR Format anzugegeben. Das heißt
Im Hexadezimalwert wird einfach das R und B vertauscht. Sachen gibt es. 🙂
RGB Farbe = #112233 = Dunkles Türkis Blau
BGR Farbe = #223311
Viele Spaß und bis die Tage
Helmut