THEMA
    about_Profiles

KURZBESCHREIBUNG
    Beschreibt, wie ein Windows PowerShell-Profil erstellt und 
    verwendet wird.

DETAILBESCHREIBUNG
    Sie können ein Windows PowerShell-Profil erstellen, um die 
    Umgebung anzupassen und den Windows PowerShell-Sitzungen, die Sie 
    starten, sitzungsspezifische Elemente hinzuzufügen. 

    Ein Windows PowerShell-Profil ist ein Skript, das ausgeführt 
    wird, wenn Windows PowerShell gestartet wird. Sie können das 
    Profil als Anmeldeskript verwenden, um die Umgebung anzupassen. 
    Sie können Befehle, Aliase, Funktionen, Variablen, Snap-Ins, 
    Module und Windows PowerShell-Laufwerke hinzufügen. Sie können 
    dem Profil weitere sitzungsspezifische Elemente hinzufügen, damit 
    diese in jeder Sitzung zur Verfügung stehen, ohne sie zuvor 
    importieren oder erstellen zu müssen.

    Windows PowerShell unterstützt mehrere Profile für Benutzer und 
    Hostprogramme.
    Diese werden jedoch nicht für den Benutzer erstellt. In diesem 
    Thema werden die Profile beschrieben, und es wird beschrieben, 
    wie Profile auf dem Computer erstellt und verwaltet werden.

    Es wird erläutert, wie der NoProfile-Parameter der Windows 
    PowerShell-Konsole ("PowerShell.exe") verwendet wird, um Windows 
    PowerShell ohne Profile zu starten.
    Außerdem wird erläutert, welche Auswirkungen die Windows 
    PowerShell-Ausführungsrichtlinie auf Profile hat.


 PROFILDATEIEN

    Windows PowerShell unterstützt mehrere Profildateien. Windows 
    PowerShell-Hostprogramme können außerdem eigene hostspezifische 
    Profile unterstützen. 

    Die Windows PowerShell-Konsole unterstützt beispielsweise 
    folgende grundlegende Profildateien. Die Profile werden in der 
    Rangfolge aufgeführt. Das erste Profil stellt die höchste 
    Rangfolge dar. 


        Beschreibung             	   Pfad
        -----------             	   ----
        Aktueller Benutzer, aktueller Host $Home\[Eigene]Dateien\WindowsPowerShell\Profile.ps1
        Aktueller Benutzer, alle Hosts     $Home\[Eigene]Dateien\Profile.ps1
        Alle Benutzer, aktueller Host      $PsHome\Microsoft.PowerShell_profile.ps1
        Alle Benutzer, alle Hosts          $PsHome\Profile.ps1


    Die Profilpfade enthalten folgende Variablen:

        - Die Variable "$PsHome", in der das Installationsverzeichnis 
          für Windows PowerShell gespeichert wird.

        - Die Variable "$Home", in der das Stammverzeichnis des 
          aktuellen Benutzers gespeichert wird.


    Außerdem können andere Programme, die Windows PowerShell hosten, 
    eigene Profile unterstützen. Beispielsweise unterstützt die 
    Windows PowerShell Integrated Scripting Environment [ISE]) 
    folgende hostspezifische Profile:


        Beschreibung                	Pfad
        -----------                	-----
        Aktueller Benutzer, 		$Home\[Eigene ]Dateien\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
	aktueller Host	
        Alle Benutzer, aktueller Host   $PsHome\Microsoft.PowerShellISE_profile.ps1


    Das Profil "Aktueller Benutzer, aktueller Host" wird in der Hilfe 
    von Windows PowerShell häufig auch als "das Windows 
    PowerShell-Profil" bezeichnet. 


 DIE VARIABLE "$PROFILE"

    In der Variablen "$Profile" werden die Pfade für die Windows 
    PowerShell-Profile gespeichert, die in der aktuellen Sitzung 
    verfügbar sind. 

    Um einen Profilpfad anzuzeigen, zeigen Sie den Wert der Variablen 
    "$Profile" an. Sie können die Variable "$Profile" auch in einem 
    Befehl verwenden, um einen Pfad darzustellen.

    In der Variablen "$Profile" wird der Pfad für das Profil 
    "Aktueller Benutzer, Aktueller Host" gespeichert. Die anderen 
    Profile werden in den Notizeigenschaften der Variablen "$profile" 
    gespeichert.
    
    Beispielsweise weist die Variable "$Profile" folgende Werte in 
    der Windows PowerShell-Konsole auf:


        Name                               Beschreibung                
        -----------                        -----------
        $Profile                           Aktueller Benutzer, aktueller Host  
        $Profile.CurrentUserCurrentHost    Aktueller Benutzer, aktueller Host  
        $Profile.CurrentUserAllHosts       Aktueller Benutzer, alle Hosts     
        $Profile.AllUsersCurrentHost       Alle Benutzer, aktueller Host    
        $Profile.AllUsersAllHosts          Alle Benutzer, alle Hosts  
             

    Vergewissern Sie sich, dass die Werte der Profilvariablen in der 
    jeweiligen Windows PowerShell-Hostanwendung angezeigt werden, die 
    Sie verwenden, da sich die Werte der Variablen "$Profile" für 
    jeden Benutzer und in jeder Hostanwendung ändern.

    Geben Sie Folgendes ein, um die aktuellen Werte der Variablen 
    "$Profile" anzuzeigen:

        $profile | get-member -type noteproperty

    
    Die Variable "$Profile" kann in zahlreichen Befehlen verwendet 
    werden. Beispielsweise wird mit folgendem Befehl das Profil 
    "Aktueller Benutzer, Aktueller Host" in Editor geöffnet:

	notepad $profile 


    Mit dem folgenden Befehl wird bestimmt, ob das Profil "Alle 
    Benutzer, Alle Hosts" auf dem lokalen Computer erstellt wurde:

	test-path $profile.AllUsersAllHosts


 SO ERSTELLEN SIE EIN PROFIL

    Um ein Windows PowerShell-Profil zu erstellen, verwenden Sie das 
    folgende Befehlsformat:

        if (!(test-path <Profilname>)) 
           {new-item -type file -path <Profilname> -force}


    Um ein Profil für den aktuellen Benutzer in der aktuellen Windows 
    PowerShell-Hostanwendung zu erstellen, verwenden Sie 
    beispielsweise folgenden Befehl: 

        if (!(test-path $profile)) 
           {new-item -type file -path $profile -force}


    In diesem Befehl verhindert die If-Anweisung, dass ein 
    vorhandener Platzhalter mit dem Pfad überschrieben wird. Ersetzen 
    Sie den Wert des Platzhalters <profile-path> durch den Pfad zu 
    dem Profil, das Sie erstellen möchten.

    Hinweis: Starten Sie Windows PowerShell mit der Option "Als 
    	     Administrator ausführen", wenn Sie Profile für "Alle Benutzer" 
    	     unter Windows Vista und höheren Versionen von Windows erstellen 
    	     möchten.


 SO BEARBEITEN SIE EIN PROFIL

    Windows PowerShell-Profile können in einem Text-Editor wie Editor 
    geöffnet werden. 

    Um das Profil des aktuellen Benutzers in der aktuellen Windows 
    PowerShell-Hostanwendung in Editor zu öffnen, geben Sie Folgendes ein:

        notepad $profile


    Wenn Sie andere Profile öffnen möchten, geben Sie den Profilnamen 
    an. Geben Sie beispielsweise Folgendes ein, um das Profil für 
    alle Benutzer aller Hostanwendungen zu öffnen:

        notepad $profile.AllUsersAllHosts


    Um die Änderungen zu übernehmen, speichern Sie die Profildatei, 
    und starten Sie dann Windows PowerShell neu.  
 

 SO WÄHLEN SIE EIN PROFIL AUS

    Fügen Sie dem $Profile.CurrentUserAllHosts-Profil die Elemente 
    hinzu, die in allen Hostanwendungen verwendet werden, wenn Sie 
    mehrere Hostanwendungen verwenden. 
    Fügen Sie die Elemente, die für eine Hostanwendung spezifisch 
    sind, beispielsweise ein Befehl, mit dem die Hintergrundfarbe für 
    eine Hostanwendung festgelegt wird, einem Profil hinzu, das für 
    diese Hostanwendung spezifisch ist.

    Administratoren, die Windows PowerShell für viele Benutzer 
    anpassen, sollten folgende Richtlinien beachten:

        -- Speichern Sie die allgemeinen Elemente im $profile.AllUsers
           AllHosts-Profil.

        -- Speichern Sie Elemente, die für eine Hostanwendung 
           spezifisch sind, in $profile.AllUsersCurrentHost-Profilen, 
           die für die Hostanwendung spezifisch sind.

        -- Speichern Sie Elemente für bestimmte Benutzer in den 
           benutzerspezifischen Profilen.

    Überprüfen Sie die Dokumentation der Hostanwendung auf besondere 
    Implementierungen von Windows PowerShell-Profilen.


 SO VERWENDEN SIE EIN PROFIL

    Viele Elemente, die in Windows PowerShell erstellt werden sowie 
    die meisten Befehle, die ausgeführt werden, wirken sich nur auf 
    die aktuelle Sitzung aus. Wenn Sie die Sitzung beenden, werden 
    die Elemente gelöscht.

    Die sitzungsspezifischen Befehle und Elemente umfassen Variablen, 
    Einstellungsvariablen, Aliase, Funktionen, Befehle (außer 
    Set-ExecutionPolicy) und Windows PowerShell-Snap-Ins, die Sie der 
    Sitzung hinzufügen.

    Um diese Elemente zu speichern und in allen zukünftigen Sitzungen 
    verfügbar zu machen, fügen Sie sie einem Windows PowerShell-Profil
    hinzu. 

    Profile werden oft auch dazu genutzt, um häufig verwendete 
    Funktionen, Aliase und Variablen zu speichern. Elemente, die in 
    einem Profil gespeichert werden, können in jeder betreffenden 
    Sitzung verwendet werden, ohne sie erneut erstellen zu müssen. 


 SO STARTEN SIE EIN PROFIL

    Wenn Sie die Profildatei öffnen, weist diese keinen Inhalt auf. 
    Sie können die Datei jedoch mit den Variablen, Aliasen und 
    Befehlen füllen, die Sie häufig verwenden.

    Nachfolgend finden Sie einige Vorschläge, um Ihnen den Einstieg 
    zu erleichtern.

    -- Fügen Sie Befehle hinzu, die das Öffnen des Profils 
       vereinfachen. Dies ist besonders hilfreich, wenn Sie ein 
       anderes Profil als "Aktueller Benutzer, Aktueller Host" 
       verwenden. Fügen Sie beispielsweise folgenden Befehl hinzu:
               
           function pro {notepad $profile.CurrentUserAllHosts}


    -- Fügen Sie eine Funktion hinzu, mit der die Windows 
       PowerShell-Hilfe in einer kompilierten HTML-Hilfe-Datei 
       (".chm") geöffnet wird. 

           function Get-CHM
            {
               (invoke-item $env:windir\help\mui\0409\
               WindowsPowerShellHelp.chm) 
            }

       
       Diese Funktion öffnet die englische Version der CHM-Datei. Sie 
       können jedoch den Sprachcode (0409) ersetzen, um eine andere 
       Versionen der CHM-Datei zu öffnen.

    
    -- Fügen Sie eine Funktion hinzu, mit der die Aliase für ein 
       Cmdlet aufgeführt werden.

           function Get-CmdletAlias ($cmdletname) 
           {
              get-alias | Where {$_.definition -like "*$cmdletname*"}| ft Definition, Name -auto 
           }


    -- Fügen Sie einen Add-PsSnapin-Befehl hinzu, um die Windows 
       PowerShell-Snap-Ins hinzuzufügen, die Sie verwenden.

    -- Passen Sie die Konsole an.

           function Color-Console 
           {
	        $host.ui.rawui.backgroundcolor = "white" 
	        $host.ui.rawui.foregroundcolor = "black" 
	        $hosttime = (dir $pshome\powershell.exe).creationtime 
	        $Host.UI.RawUI.WindowTitle = "Windows PowerShell $hostversion ($hosttime)" 
	        clear-host
           }
           Color-console


    -- Fügen Sie eine benutzerdefinierte Windows PowerShell-Eingabeauf-
       forderung hinzu, die den Computernamen und den aktuellen Pfad 
       enthält. 

           function prompt 
           {
              $env:computername + "\" + (get-location) + "> " 
           }


       Weitere Informationen über die Windows PowerShell-
       Eingabeaufforderung finden Sie unter "about_Prompts".


 NOPROFILE-PARAMETER

    Um Windows PowerShell ohne Profile zu starten, verwenden Sie den 
    NoProfile-Parameter des Programms "PowerShell.exe", mit dem 
    Windows PowerShell gestartet wird.

    Öffnen Sie zunächst ein Programm, mit dem Windows PowerShell 
    gestartet werden kann, beispielsweise "Cmd.exe" oder Windows 
    PowerShell selbst. Sie können auch das Dialogfeld "Ausführen" in 
    Windows verwenden. 

    Geben Sie Folgendes ein:

	powershell -noprofile

    Eine vollständige Liste der Parameter von "PowerShell.exe" 
    erhalten Sie mit folgendem Befehl:

	powershell -?


 PROFILE UND AUSFÜHRUNGSRICHTLINIEN

    Die Ausführung von Skripts und das Laden von Konfigurationsdateien 
    einschließlich Profilen werden teilweise durch die Windows 
    PowerShell-Ausführungsrichtlinie bestimmt. Standardmäßig wird 
    die Ausführungsrichtlinie "Restricted" verwendet. Diese 
    Richtlinie verhindert die Ausführung aller Skripts 
    einschließlich der Profile. Wenn Sie die Ausführungsrichtlinie 
    "Restricted" verwenden, wird das Profil nicht ausgeführt, und 
    der Inhalt wird nicht angewendet.

    Mit einem Set-ExecutionPolicy-Befehl wird die Ausführungsrichtlinie 
    festgelegt und geändert. Dies ist einer der wenigen Befehle, 
    die sich auf alle Windows PowerShell-Sitzungen auswirken, da der 
    Wert in der Registrierung gespeichert wird. Der Befehl muss nicht 
    beim Öffnen der Konsole festgelegt werden, und es muss kein 
    Set-ExecutionPolicy- Befehl im Profil gespeichert werden.


 PROFILE UND REMOTESITZUNGEN   

    Windows PowerShell-Profile werden nicht automatisch in 
    Remotesitzungen ausgeführt. Die Befehle, die von den Profilen 
    hinzugefügt werden, sind daher in der Remotesitzung nicht vorhanden.
    Ferner wird die automatische Variable "$profile" nicht in 
    Remotesitzungen aufgefüllt.  

    Verwenden Sie das Cmdlet "Invoke-Command", um ein Profil in einer 
    Sitzung auszuführen.

    Beispielsweise wird mit dem folgenden Befehl das 
    CurrentUserCurrentHost-Profil vom lokalen Computer in der 
    Sitzung in $s ausgeführt. 

        invoke-command -session $s -filepath $profile

    Beispielsweise wird mit dem folgenden Befehl das 
    CurrentUserCurrentHost-Profil vom Remotecomputer in der 
    Sitzung in $s ausgeführt. 
    Da die Variable "$profile" nicht aufgefüllt wird, verwendet der 
    Befehl den expliziten Pfad für das Profil.

        invoke-command -session $s {invoke-expression 
        "$home\Dateien\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

    Die Befehle, die der Sitzung vom Profil hinzugefügt werden, sind 
    nach Ausführen des Befehls in $s verfügbar.


SIEHE AUCH
    about_Automatic_Variables
    about_Functions
    about_Prompts
    about_Execution_Policies
    about_Signing
    about_Remote
    Set-ExecutionPolicy




Inhaltsverzeichnis