THEMA
    Einstellungsvariablen

KURZBESCHREIBUNG
    Variablen zur Anpassung des Verhaltens von Windows PowerShell 

DETAILBESCHREIBUNG
    Windows PowerShell enthält einen Satz von Variablen, mit denen 
    Sie das Verhalten anpassen können. Diese "Einstellungsvariablen" 
    werden analog zu den Optionen in GUI-basierten Systemen verwendet.

    Die Einstellungsvariablen wirken sich auf die Betriebssystemumge-
    bung von Windows PowerShell sowie auf alle in der Umgebung 
    ausgeführten Befehle aus. In vielen Fällen verfügen die Cmdlets 
    über Parameter, mit denen Sie das bevorzugte Verhalten für einen 
    bestimmten Befehl überschreiben können.

    In der folgenden Tabelle sind die Einstellungsvariablen und ihre 
    Standardwerte aufgeführt.

    Variable                             Standardwert
    --------                             -------------
    $ConfirmPreference                   High
    $DebugPreference                     SilentlyContinue
    $ErrorActionPreference               Continue
    $ErrorView                           NormalView
    $FormatEnumerationLimit              4
    $LogCommandHealthEvent               False (nicht protokolliert)
    $LogCommandLifecycleEvent            False (nicht protokolliert)
    $LogEngineHealthEvent                True (protokolliert)
    $LogEngineLifecycleEvent             True (protokolliert)
    $LogProviderLifecycleEvent           True (protokolliert)
    $LogProviderHealthEvent              True (protokolliert)
    $MaximumAliasCount                   4096
    $MaximumDriveCount                   4096
    $MaximumErrorCount                   256
    $MaximumFunctionCount                4096
    $MaximumHistoryCount                 64
    $MaximumVariableCount                4096
    $OFS                                 (Leerzeichen (" "))
    $OutputEncoding		         ASCIIEncoding-Objekt
    $ProgressPreference                  Continue
    $PSEmailServer                       (None)
    $PSSessionApplicationName            WSMAN
    $PSSessionConfigurationName          https://schemas.microsoft.com/powershell/microsoft.powershell 
    $PSSessionOption                     (Siehe unten)
    $VerbosePreference                   SilentlyContinue
    $WarningPreference                   Continue
    $WhatIfPreference                    0


    Windows PowerShell enthält auch folgende Umgebungsvariablen, in 
    denen Benutzereinstellungen gespeichert werden. Weitere 
    Informationen über die Umgebungsvariablen finden Sie unter 
    "about_environment_variables".

    Variable                                         
    --------                         
    PSModulePath                        

ARBEITEN MIT EINSTELLUNGSVARIABLEN
    In diesem Dokument werden die einzelnen Einstellungsvariablen 
    beschrieben.

    Um den aktuellen Wert einer bestimmten Einstellungsvariable 
    anzuzeigen, geben Sie den Namen der Variablen ein. Daraufhin wird 
    der Wert von Windows PowerShell angezeigt. Mit dem folgenden 
    Befehl wird beispielsweise der Wert der Variablen 
    "$ConfirmPreference" angezeigt.

        PS> $ConfirmPreference
        High

    Um den Wert einer Variable zu ändern, verwenden Sie eine 
    Zuweisungsanweisung. In der folgenden Anweisung wird 
    beispielsweise der Variablen "$ConfirmPreference" der Wert 
    "Medium" zugewiesen.

        PS> $ConfirmPreference = "Medium"

    Die Werte, die Sie festlegen, gelten wie alle Variablen für das 
    aktuelle Windows PowerShell-Fenster. Fügen Sie die Werte dem 
    Windows PowerShell-Profil hinzu, wenn diese für alle Windows 
    PowerShell-Fenster gelten sollen. Weitere Informationen finden 
    Sie unter "about_profiles".


REMOTE ARBEITEN
   Wenn Sie Befehle auf einem Remotecomputer ausführen, sind die 
   Remotebefehle nur von den Einstellungen im Windows PowerShell-Client 
   auf dem Remotecomputer abhängig. Wenn Sie beispielsweise einen 
   Remotebefehl ausführen, bestimmt der Wert der Variablen 
   "$DebugPreference" auf dem Remotecomputer, wie PowerShell auf 
   Debugmeldungen reagiert. 

   Weitere Informationen über Remotebefehle finden Sie unter 
   "about_remote".



$ConfirmPreference
------------------
    Gibt an, welche Cmdlet-Aktionen automatisch eine Bestätigung vom 
    Benutzer anfordern, bevor sie ausgeführt werden. 
        
    Wenn der Wert "$ConfirmPreference" (High, Medium, Low, None) 
    größer oder gleich dem Risiko der Cmdlet-Aktion (High, Medium, 
    Low, None) ist, fordert Windows PowerShell vor dem Ausführen der 
    Aktion automatisch eine Bestätigung vom Benutzer an. 

    Mit dem Confirm-Parameter eines Cmdlet können Sie die Einstellung 
    für einen bestimmten Befehl überschreiben.

        Gültige Werte:
		None:   Cmdlet-Aktionen werden nicht automatisch bestätigt. Benutzer 
			müssen die Bestätigung für bestimmte Befehle mit dem Confirm-Parameter 
			anfordern.

		Low:   	Cmdlet-Aktionen mit niedrigem, mittlerem oder hohem Risiko werden 
			automatisch bestätigt. Mit "-Confirm:$false" können Sie die 
			Bestätigung für einen bestimmten Befehl unterdrücken.

		Medium: Cmdlet-Aktionen mit mittlerem oder hohem Risiko werden 
			automatisch bestätigt. Mit "-confirm" können Sie die Bestätigung 
			für einen bestimmten Befehl aktivieren. Mit "confirm:$false" können 
			Sie die Bestätigung für einen bestimmten Befehl unterdrücken.

		High:   Cmdlet-Handlungen mit hohem Risiko werden 
	     (Standard)	automatisch bestätigt. Mit "-confirm" können Sie die Bestätigung 
			für einen bestimmten Befehl aktivieren. Mit "-confirm:$false" 
			können Sie die Bestätigung für einen bestimmten Befehl unterdrücken.


    DETAILBESCHREIBUNG
        Wenn sich eine Cmdlet-Aktion erheblich auf das System 
        auswirkt, beispielsweise durch das Löschen von Daten oder 
        Nutzen einer erheblichen Menge an Systemressourcen, können 
        Sie von Windows PowerShell vor dem Ausführen der Aktion 
        automatisch zur Bestätigung aufgefordert werden. 

        Beispiel:

	    PS> remove-item pref2.txt

            Bestätigung
            Möchten Sie diese Aktion wirklich ausführen?
            Ausführen des Vorgangs "Datei entfernen" für das Ziel 
            "C:\pref2.txt".
            [J] Ja [A] Ja, alle [N] Nein [K] Nein, keine [H] Anhalten [?] Hilfe (Der Standardwert ist "J"):

        Die Schätzung des Risikos ist Teil des Cmdlet "ConfirmImpact".
        Eine Änderung ist nicht möglich.

        Cmdlets, die möglicherweise ein Risiko für das System 
        darstellen, verfügen über einen Confirm-Parameter, mit dem 
        Sie eine Bestätigung für einen bestimmten Befehl anfordern 
        oder unterdrücken können.

	Da die meisten Cmdlets den Standardrisikowert "Medium" verwenden, 
	und der Standardwert von "$ConfirmPreference" gleich "High" ist, 
	erfolgt nur selten eine automatische Bestätigung. Sie können die 
	automatische Bestätigung jedoch aktivieren, indem Sie den Wert von 
	"$ConfirmPreference" in "Medium" oder "Low" ändern. 

    BEISPIELE
      In diesem Beispiel werden die Auswirkungen des Standardwerts von 
      "$ConfirmPreference" veranschaulicht. Beim Wert "High" werden nur 
      Cmdlet-Aktionen mit hohem Risiko bestätigt. Da die meisten Aktionen 
      ein mittleres Risiko aufweisen, werden sie nicht automatisch 
      bestätigt. Mit dem Confirm-Parameter des Cmdlet können Sie jedoch 
      eine Bestätigung für einen bestimmten Befehl anfordern.

          PS> $confirmpreference              #Aktuellen Wert der Variablen abrufen 
          High          
          PS> remove-item temp1.txt           #Datei löschen
          PS>                                 #Gelöscht ohne Bestätigung 
          PS> remove-item temp2.txt -confirm  #Confirm-Parameter verwenden

          Bestätigung
          Möchten Sie diese Aktion wirklich ausführen?
          Ausführen des Vorgangs "Datei entfernen" für das Ziel 
          "C:\temp2.txt".
          [J] Ja [A] Ja, alle [N] Nein [K] Nein, keine [H] Anhalten [?] Hilfe (Der Standardwert ist "J"):


       In diesem Beispiel werden die Auswirkungen einer Änderung des 
       Werts von "$ConfirmPrefernce" in "Medium" veranschaulicht. Da 
       die meisten Cmdlet-Aktionen ein mittleres Risiko aufweisen, 
       werden sie automatisch bestätigt. Mit dem Confirm-Parameter 
       und dem Wert "$false" können Sie die Bestätigungsaufforderung 
       für einen bestimmten Befehl unterdrücken.

            
          PS> $confirmpreference = "Medium" 
                                     #Werts von "$ConfirmPreference" ändern 
          PS> remove-item temp2.txt
                                     #Bestätigung nach Löschen einer Datei 
          Bestätigung
          Möchten Sie diese Aktion wirklich ausführen?
          Ausführen des Vorgangs "Datei entfernen" für das Ziel 
          "C:\temp2.txt".
          [J] Ja [A] Ja, alle [N] Nein [K] Nein, keine [H] Anhalten 
          [?] Hilfe (Der Standardwert ist "J"):
	

          PS> remove-item temp3.txt -confirm:$false  #Bestätigung mit 
          					      dem Confirm-Parameter unterdrücken 
          PS>

$DebugPreference
------------------
	Bestimmt, wie PowerShell auf Debugmeldungen reagiert, die von einem 
	Skript, Cmdlet oder Anbieter oder durch einen Write-Debug-Befehl in 
	der Befehlszeile generiert werden. 

        Bei den Debugmeldungen, die von einigen Cmdlets angezeigt 
        werden, handelt es sich um sehr technische Meldungen, die für 
        Programmierer und Mitarbeiter des technischen Supports 
        bestimmt sind. Standardmäßig werden Debugmeldungen nicht 
        angezeigt. Sie können Debugmeldungen jedoch anzeigen, indem 
        Sie den Wert von "$DebugPreference" ändern.
        
        Sie können auch den allgemeinen Debug-Parameter eines Cmdlet 
        verwenden, um die Debugmeldungen für einen bestimmten Befehl 
        anzuzeigen oder auszublenden. Weitere Informationen erhalten 
        Sie mit folgendem Befehl: "get-help about_commonparameters".

        Gültige Werte:
	    Stop:               Zeigt die Debugmeldung an und beendet die 
	    			Ausführung. Schreibt einen Fehler in die Konsole.

     	    Inquire:            Zeigt die Debugmeldung an und 
     	    			fragt, ob Sie fortfahren möchten.

            Continue:           Zeigt die Debugmeldung an und 
            			fährt mit der Ausführung fort.

            SilentlyContinue :  Keine Auswirkungen. Die Debugmeldung wird nicht 
            (Standard) 		angezeigt und die Ausführung ohne 
            			Unterbrechung fortgesetzt.
             

    BEISPIELE
    
    In den folgenden Beispielen werden die Auswirkungen einer 
    Änderung der Werte von "$DebugPreference" bei Eingabe eines 
    Write-Debug-Befehls in der Befehlszeile veranschaulicht. Die 
    Änderung wirkt sich auf alle Debugmeldungen einschließlich der 
    Meldungen aus, die von Cmdlets und Skripts generiert wurden. 
    Weiterhin wird in den Beispielen die Verwendung des allgemeinen 
    Debug-Parameters veranschaulicht, der die Debugmeldungen für 
    einen einzelnen Befehl anzeigt oder ausblendet.

    In diesem Beispiel werden die Auswirkungen des Standardwerts 
    "SilentlyContinue" veranschaulicht. Die Debugmeldung wird nicht 
    angezeigt und die Verarbeitung fortgesetzt. Der abschließende 
    Befehl überschreibt die Einstellung für einen einzelnen Befehl 
    mit dem Debug-Parameter.

        PS> $debugpreference                    # Aktuellen Wert abrufen
        SilentlyContinue                          $DebugPreference

        PS> write-debug "Hallo, Welt"
        PS>                                     # Die Debugmeldung wird nicht angezeigt.
 
        PS> write-debug "Hallo, Welt" -Debug    # Debug-Parameter verwenden
        DEBUG: Hallo, Welt                      # Debugmeldung wird angefordert

        Bestätigung?
        Vorgang fortsetzen?
        [J] Ja [A] Ja, alle [B] Befehl anhalten [H] Anhalten [?] Hilfe (Der Standardwert ist "J"):

   
    In diesem Beispiel werden die Auswirkungen des Werts "Continue" 
    veranschaulicht. Der abschließende Befehl verwendet den 
    Debug-Parameter mit dem Wert "$false", um die Meldung für einen 
    einzelnen Befehl zu unterdrücken.

        PS> $debugpreference = "Continue"  # Wert in "Continue" ändern 

        PS> write-debug "Hallo, Welt"
        DEBUG: Hallo, Welt                 # Die Debugmeldung wird 
        PS>				     angezeigt und die Verarbeitung fortgesetzt.
        


        PS> write-debug "Hallo, Welt" -Debug:$false  
                                           # Debug-Parameter mit 
                                             "false" verwenden
        PS>                                # Die Debugmeldung wird nicht angezeigt.

        
    In diesem Beispiel werden die Auswirkungen des Werts "Stop" 
    veranschaulicht. Der abschließende Befehl verwendet den 
    Debug-Parameter mit dem Wert "$false", um die Meldung für einen 
    einzelnen Befehl zu unterdrücken.

        PS> $debugpreference = "Stop"       # Wert in "Stop" ändern
        PS> write-debug "Hallo, Welt"
        DEBUG: Hallo, Welt
        Write-Debug : Die Befehlsausführung wurde beendet, da die 
        Shellvariable "DebugPreference" auf Stop festgelegt ist.
        Bei Zeile:1 Zeichen:12
        + write-debug <<<< "Hallo, Welt"

        PS> write-debug "Hallo, Welt" -Debug:$false  
                                            # Debug-Parameter mit 
                                              "$false" verwenden
        PS>      			    # Die Debugmeldung wird nicht angezeigt 
        				      und die Verarbeitung nicht beendet.
      

    In diesem Beispiel werden die Auswirkungen des Werts "Inquire" 
    veranschaulicht. Der abschließende Befehl verwendet den 
    Debug-Parameter mit dem Wert "$false", um die Meldung für einen 
    einzelnen Befehl zu unterdrücken.

        PS> $debugpreference = "Inquire"
        PS> write-debug "Hallo, Welt"
        DEBUG: Hallo, Welt

        Bestätigung
        Vorgang fortsetzen?
        [J] Ja [A] Ja, alle [B] Befehl anhalten [H] Anhalten [?] Hilfe (Der Standardwert ist "J"):

        PS> write-debug "Hallo, Welt" -Debug:$false  
                                            # Debug-Parameter mit 
                                              "$false" verwenden
        PS>      			    # Die Debugmeldung wird nicht angezeigt 
       					      und die Verarbeitung ohne 
       					      Unterbrechung fortgesetzt.


$ErrorActionPreference
----------------------
	Bestimmt, wie Windows PowerShell in der Befehlszeile oder in einem 
	Skript, Cmdlet oder Anbieter auf einen Fehler ohne Abbruch (ein 
	Fehler, durch den die Cmdlet-Verarbeitung nicht beendet wird) 
	reagiert, beispielsweise auf Fehler, die vom Cmdlet "Write-Error" 
	generiert werden. 

        Sie können auch den allgemeinen ErrorAction-Parameter eines 
        Cmdlet verwenden, um die Einstellung für einen bestimmten 
        Befehl zu überschreiben. Weitere Informationen erhalten Sie 
        mit folgendem Befehl: "get-help about_commonparameters".


        Gültige Werte:
	    Stop:               Zeigt die Fehlermeldung an und beendet die 
	    			Ausführung. 

     	    Inquire:            Zeigt die Fehlermeldung an und 
     	    			fragt, ob Sie fortfahren möchten.

            Continue:           Zeigt die Fehlermeldung an und 
            			setzt die Ausführung fort.

            SilentlyContinue:   Keine Auswirkungen. Die Fehlermeldung 
            (Standard)  	wird nicht angezeigt und die Ausführung 
           			ohne Unterbrechung fortgesetzt.


       Der allgemeine $ErrorActionPreference-Parameter und der 
       allgemeine ErrorAction-Parameter haben keine Auswirkungen auf 
       die Reaktion von Windows PowerShell auf Fehler mit Abbruch 
       (Fehler, durch die die Cmdlet-Verarbeitung beendet wird).

       Weitere Informationen über den allgemeinen ErrorAction-Parameter 
       erhalten Sie mit folgendem Befehl: "get-help about_commonpara
       meters".


    BEISPIELE

    In diesen Beispielen werden die Auswirkungen verschiedener Werte 
    von "$ErrorActionPreference" sowie die Verwendung des allgemeinen 
    ErrorAction-Parameters zum Überschreiben der Einstellung für 
    einen einzelnen Befehl veranschaulicht. Der ErrorAction-Parameter 
    verfügt über die gleichen gültigen Werte wie die Variable 
    "$ErrorActionPreference".
    
    In diesem Beispiel werden die Auswirkungen des Werts "Continue" 
    (Standard) veranschaulicht.

        PS> $erroractionpreference                      
        Continue		# Wert der Einstellung anzeigen		           

        PS> write-error "Hallo, Welt"                  
                                # Fehler ohne Abbruch generieren

        write-error "Hallo, Welt" : Hallo, Welt        
				# Die Fehlermeldung wird angezeigt 
        			  und die Ausführung fortgeführt.

        PS> write-error "Hallo, Welt" -ErrorAction:SilentlyContinue
                                # ErrorAction-Parameter mit dem Wert 
                                  "SilentlyContinue" verwenden
        PS>                                             
                                # Die Fehlermeldung wird nicht 
                                  angezeigt und die Ausführung fortgeführt.

    In diesem Beispiel werden die Auswirkungen des Werts 
    "SilentlyContinue" veranschaulicht.

        PS> $ErrorActionPreference = "SilentlyContinue"
                                # Wert der Einstellung ändern
        PS> write-error "Hallo, Welt"                  
                                # Fehlermeldung generieren
        PS>                     
                                # Fehlermeldung unterdrücken
        PS> write-error "Hallo, Welt" -erroraction:continue
                                # ErrorAction-Parameter mit dem Wert 
                                  "Continue" verwenden
        write-error "Hallo, Welt" -erroraction:continue: Hallo, Welt 
       				# Die Fehlermeldung wird 
				  angezeigt und die Ausführung fortgesetzt.

       
    In diesem Beispiel werden die Auswirkungen eines realen Fehlers 
    veranschaulicht. In diesem Fall wird die nicht vorhandene Datei 
    "nofile.txt" vom Befehl abgerufen. Außerdem wird im Beispiel die 
    Einstellung mit dem allgemeinen ErrorAction-Parameter überschrieben.

        PS> $erroractionpreference                      
        SilentlyContinue        # Wert der Einstellung anzeigen   


        PS> get-childitem -path nofile.txt
        PS>                     # Fehlermeldung unterdrücken

        PS> $ErrorActionPreference = "Continue" 
                                # Wert in "Continue" ändern

        PS> get-childitem -path nofile.txt
        Get-ChildItem : Der Pfad 'C:\nofile.txt' kann nicht gefunden 
        werden, da er nicht vorhanden ist.
        Bei Zeile:1 Zeichen:4
        + get-childitem <<<< nofile.txt

        PS> get-childitem -path nofile.txt -erroraction SilentlyContinue
                                # ErrorAction-Parameter verwenden 
 	PS> 
                                # Fehlermeldung unterdrücken
  
        PS > $ErrorActionPreference = "Inquire"          
                                # Wert in "Inquire" ändern
        PS> get-childitem -path nofile.txt

        Bestätigung
        Der Pfad 'C:\nofile.txt' kann nicht gefunden werden, da er nicht vorhanden ist.
        [J] Ja [A] Ja, alle [B] Befehl anhalten [H] Anhalten [?] Hilfe (der Standardwert ist "J"): a 

        Get-ChildItem : Der Pfad 'C:\nofile.txt' kann nicht gefunden 
        werden, da er nicht vorhanden ist.
        Bei Zeile:1 Zeichen:4
        + get-childitem <<<< nofile.txt

        PS> $ErrorActionPreference = "Continue"                  
                                # Wert in "Continue" ändern
        PS> Get-Childitem nofile.txt -erroraction "Inquire"   
                                # Einstellungswert mit dem 
                                  ErrorAction-Parameter überschreiben

        Bestätigung
        Der Pfad 'C:\nofile.txt' kann nicht gefunden werden, da er nicht vorhanden ist.          
	[J] Ja [A] Ja, alle [B] Befehl anhalten [H] Anhalten [?] Hilfe (Der Standardwert ist "J"):


$ErrorView
----------
        Bestimmt das Anzeigeformat von Fehlermeldungen in Windows 
        PowerShell. 

        Gültige Werte:
	    NormalView :	Eine detaillierte Ansicht 
	    (Standard)    	für die meisten Benutzer. Besteht aus einer Beschreibung des 
	    			Fehlers, dem Namen des Objekts für den Fehler sowie Pfeilen 
	    			(<<<<), die auf die Worte im Befehl zeigen, die den Fehler 
	    			verursacht haben.

     	    CategoryView:       Eine kompaktere strukturierte 
     	    			Ansicht für Produktionsumgebungen. Das Format 
     	    			ist:{Category}: ({TargetName}:{TargetType}):[{Activity}], 
     	   			{Reason}

        Weitere Informationen über die Felder in CategoryView finden 
        Sie unter "ErrorCategoryInfo-Klasse" im Windows PowerShell-SDK.
        
    BEISPIELE

    In diesem Beispiel werden die Auswirkungen der ErrorView-Werte 
    veranschaulicht.

    In diesem Beispiel wird veranschaulicht, wie ein Fehler angezeigt 
    wird, wenn "$ErrorView" den Wert "NormalView" aufweist. In diesem 
    Fall wird eine nicht vorhandene Datei mit dem Befehl 
    "Get-ChildItem" gesucht.

        PS> $ErrorView                         # Wert überprüfen
        NormalView

        PS> get-childitem nofile.txt           # Nicht vorhandene Datei suchen
        Get-ChildItem : Der Pfad 'C:\nofile.txt' kann nicht gefunden 
        werden, da er nicht vorhanden ist.
        Bei Zeile:1 Zeichen:14
        + get-childitem <<<< nofile.txt

    In diesem Beispiel wird veranschaulicht, wie der gleiche Fehler 
    angezeigt wird, wenn "$ErrorView" den Wert "CategoryView" aufweist.

        PS> $ErrorView = "CategoryView"        # Wert ändern in 
                                                 CategoryView

        PS> get-childitem nofile.txt
        ObjectNotFound: (C:\nofile.txt:String) [Get-ChildItem], ItemNotFoundException

 
   In diesem Beispiel wird veranschaulicht, dass sich der Wert von 
   ErrorView nur auf die Fehleranzeige auswirkt und die Struktur des 
   Fehlerobjekts in der automatischen Variablen "$error" dadurch 
   nicht geändert wird. Informationen über die automatische Variable 
   "$error" finden Sie unter "about_automatic_variables".

   Dieser Befehl akzeptiert das ErrorRecord-Objekt, das mit dem 
   letzten Fehler im Fehlerarray verknüpft ist (Element 0), und 
   formatiert alle Eigenschaften des Fehlerobjekts in einer Liste.
           
        PS> $error [0] | format-list -property * -force

        Ausnahme  : 	System.Management.Automation.ItemNotFoundException : Der Pfad 
			'C:\nofile.txt' kann nicht gefunden werden, da er nicht vorhanden ist. at 
        		System.Management.Automation.SessionStateInternal.GetChildItems(String
 			path, Boolean recurse, CmdletProviderContext context) at 
 			System.Management.Automation.ChildItemCmdletProviderIntrinsics.Get(String path, 
			Boolean recurse, CmdletProviderContext context) at 
			Microsoft.PowerShell.Commands.GetChildItemCommand.ProcessRecord() 
	TargetObject	      : C:\nofile.txt
        CategoryInfo          : ObjectNotFound: (C:\nofile.txt: String) [Get-ChildItem], 
				ItemNotFoundException 
        FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
        ErrorDetails          :
        InvocationInfo        : System.Management.Automation.InvocationInfo


$FormatEnumerationLimit
-----------------------
        Bestimmt, wie viele Elemente in einer Anzeige aufgelistet 
        werden. Diese Variable wirkt sich nicht auf die zugrunde 
        liegenden Objekte, sondern nur auf die Anzeige aus.
        Wenn der Wert von $FormatEnumerationLimit kleiner als die 
        Anzahl der aufgelisteten Elemente ist, fügt Windows 
        PowerShell Auslassungspunkte (...) hinzu, um nicht angezeigte 
        Elemente anzugeben.

        Gültige Werte: Ganze Zahlen (Int32)
        Standardwert: 4

    BEISPIELE

        In diesem Beispiel wird gezeigt, wie die Variable 
        "$FormatEnumerationLimit" verwendet wird, um die Anzeige von 
        aufgelisteten Elementen zu verbessern. 

        Mit dem Befehl in diesem Beispiel wird eine Tabelle 
        generiert, in der alle Dienste, die auf dem Computer 
        ausgeführt werden, in zwei Gruppen aufgelistet werden: eine 
        Gruppe für Dienste, die gerade ausgeführt werden, und eine 
        Gruppe für Dienste, die beendet wurden. Dabei werden mit 
        einem Get-Service-Befehl alle Dienste abgerufen, und das 
        Ergebnis wird über die Pipeline an das Cmdlet "Group-Object" 
        übergeben, um die Ergebnisse nach dem Dienststatus zu gruppieren. 

        Die Ergebnisanzeige enthält eine Tabelle, in der der Status 
        in der Spalte "Name" und der Prozess mit diesem Status in der 
        Spalte "Group" aufgeführt werden. (Die Spaltenbezeichnungen 
        können mit einer Hashtabelle geändert werden. Weitere 
        Informationen finden Sie in den Beispielen unter "get-help 
        format-table -examples".) 

        Die Spalte "Group" enthält maximal 4 Dienste für jeden 
        Status. Um die Anzahl der aufgeführten Elemente zu erhöhen, 
        erhöhen Sie den Wert von $FormatEnumerationLimit auf 1000.

        Die Liste in der Spalte "Group" in der Ergebnisanzeige wird 
        nun durch die Zeilenlänge beschränkt. Im abschließenden 
        Befehl des Beispiels werden mit dem Wrap-Parameter von 
        Format-Table alle Prozesse in der jeweiligen Statusgruppe 
        angezeigt.
         

        PS> $formatenumerationlimit         # Aktuellen Wert suchen
        4
        
        PS> get-service | group-object -property status           
                                            # Alle Dienste nach 
                                              Status auflisten

        Count Name                      Group
        ----- ----                      -----
           60 Running                   {AdtAgent, ALG, Ati Hotkeywähler, AudioSrv...}   
           41 Stopped                   {Alerter, AppMgmt, aspnet_state, ATI Smart...}

                                           # Die Liste wird nach 4 
                                             Elementen abgeschnitten.


        PS> $formatenumerationlimit = 1000
                                           # Grenze auf 1000 erhöhen
        
        PS> get-service | group-object -property status           
                                           # Befehl wiederholen

        Count Name     Group
        ----- ----     -----
           60 Running  {AdtAgent, ALG, Ati Hotkeywähler, AudioSrv, BITS, CcmExec...
           41 Stopped  {Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc...


        PS> get-service | group-object -property status | format-table -wrap
                                           # Wrap-Parameter hinzufügen 

        Count Name      Group
        ----- ----      -----
           60 Running  	{AdtAgent, ALG, Ati HotKey Poller, AudioSrv, 
           		BITS, CcmExec, Client for NFS, CryptSvc, DcomLaunch, Dhcp, 
           		dmserver, Dnscache, ERSvc,  Eventlog, EventSystem, 
          		FwcAgent, helpsvc, HidServ, IISADMIN,   InoRPC, InoRT, 
          		InoTask, lanmanserver, lanmanworkstation, LmHosts, MDM, 
           		Netlogon, Netman, Nla, NtLmSsp, PlugPlay, PolicyAgent,  
           		ProtectedStorage, RasMan, RemoteRegistry, RpcSs, SamSs, 
           		Schedule, seclogon, SENS, SharedAccess, ShellHWDetection, 
           		SMT PSVC, Spooler,   srservice, SSDPSRV, stisvc, TapiSrv, 
           		TermService, Themes, TrkWks, UMWdf, W32Time, W3SVC, 
           		WebClient, winmgmt, wscsvc, wuauserv, WZCSVC, zzInterix}

           41 Stopped  	{Alerter, AppMgmt, aspnet_state, ATI Smart, 
           		Browser, CiSvc, ClipSrv, clr_optimization_v2.0.50727_32, 
           		COMSysApp, CronService, dmadmin, FastUserSwitchingCompatibi
           		lity, HTTPFilter, ImapiService, Mapsvc, Messenger, 
           		mnmsrvc, MSDTC, MSIServer, msvsmon80, NetDDE, NetDDEdsdm, 
           		NtmsSvc, NVSvc, ose, RasAuto, RDSessMgr, RemoteAccess,   
           		RpcLocator, RSVP, SCardSvr, SwPrv, SysmonLog, TlntSvr, 
           		upnphost,    UPS, VSS, WmdmPmSN, Wmi, WmiApSrv, xmlprov}


$Log*Event
----------
        Die Log*Event-Einstellungsvariablen bestimmen, welche Typen 
        von Ereignissen in das Windows PowerShell-Ereignisprotokoll 
        in der Ereignisanzeige geschrieben werden. Standardmäßig 
        werden nur Modul- und Anbieterereignisse protokolliert. Sie 
        können das Ereignisprotokoll jedoch mit den Log*Event-
        Einstellungsvariablen anpassen, um beispielsweise 
        Befehlsereignisse zu protokollieren.   

        Die Log*Event-Einstellungsvariablen sind folgende:

            $LogCommandHealthEvent: Protokolliert Fehler und 
                Ausnahmen bei der Initialisierung und Verarbeitung von 
                Befehlen. Standard = $false (nicht protokolliert).

            $LogCommandLifecycleEvent: 
                Protokolliert das Starten und Beenden von Befehlen 
                und Befehlspipelines sowie Sicherheitsausnahmen in 
                der Befehlserkennung. Standard = $false (nicht 
                protokolliert).

            $LogEngineHealthEvent: Protokolliert Fehler von 
                Sitzungen. Standard = $true (protokolliert).

            $LogEngineLifecycleEvent: Protokolliert das Öffnen und 
                Schließen von Sitzungen. Standard = $true (protokolliert).

            $LogProviderHealthEvent: Protokolliert Anbieterfehler wie 
                Lese- und Schreibfehler, Suchfehler und Aufruffehler. 
                Standard = $true (protokolliert).

            $LogProviderLifecycleEvent: Protokolliert das Hinzufügen 
                und Entfernen von Windows PowerShell-Anbietern.
                Standard = $true (protokolliert). (Weitere 
                Informationen über die Windows PowerShell-Anbieter 
                erhalten Sie mit folgendem Befehl:
                "get-help about_provider".


        Geben Sie die Variable mit dem Wert "$true" ein, um ein 
        Log*Event zu aktivieren, beispielsweise:

            $LogCommandLifecycleEvent

            - oder -

            $LogCommandLifeCycleEvent = $true


        Geben Sie die Variable mit dem Wert "$false" ein, um einen 
        Ereignistyp zu deaktivieren, beispielsweise:

            $LogCommandLifeCycleEvent = $false

        Die Ereignisse, die Sie aktivieren, wirken sich nur auf die 
        aktuelle Windows PowerShell- Konsole aus. Um die 
        Konfiguration für alle Konsolen zu übernehmen, speichern Sie 
        die Variableneinstellungen im Windows PowerShell-Profil.


$MaximumAliasCount
------------------
        Bestimmt, wie viele Aliase in einer Windows PowerShell- 
        Sitzung zulässig sind. Der Standardwert 4096 ist für die 
        meisten Verwendungszwecke ausreichend. Er kann jedoch an die 
        individuellen Anforderungen angepasst werden.

        Gültige Werte: 1024 - 32768 (Int32)
        Standard: 4096
      
        Um die Aliase im System zu zählen, geben Sie Folgendes ein: 

		(get-alias).count

$MaximumDriveCount
------------------
        Bestimmt, wie viele Windows PowerShell-Laufwerke in einer 
        angegebenen Sitzung zulässig sind. Dazu gehören 
        Dateisystemlaufwerke und Datenspeicher, die von Windows 
        PowerShell-Anbietern verfügbar gemacht und als Laufwerke 
        angezeigt werden, beispielsweise das Laufwerk "Alias:" und 
        das Laufwerk "HKLM:".

        Gültige Werte: 1024 - 32768 (Int32)
        Standard: 4096
      
        Um die Aliase im System zu zählen, geben Sie Folgendes ein: 

		(get-psdrive).count



$MaximumErrorCount
------------------
        Bestimmt, wie viele Fehler im Fehlerverlauf für die Sitzung 
        gespeichert werden. 

        Gültige Werte: 256 - 32768 (Int32)
        Standard: 256

        Objekte, die die einzelnen gespeicherten Fehler darstellen, 
        werden in der automatischen Variablen "$Error" gespeichert. 
        Diese Variable enthält ein Array von Fehlerdatensatzobjekten 
        mit einem Objekt pro Fehler. Der aktuellste Fehler stellt das 
        erste Objekt im Array ($Error [0]) dar.
      
        Um die Fehler im System zu zählen, verwenden Sie die 
        Count-Eigenschaft des $Error-Arrays. Geben Sie Folgendes ein:
		
		$Error.count

        Mit der Arraynotation können Sie bestimmte Fehler anzeigen. 
        Geben Sie beispielsweise Folgendes ein, um den aktuellsten 
        Fehler anzuzeigen:

                $Error[0]

        Um den ältesten gespeicherten Fehler anzuzeigen, geben Sie 
        Folgendes ein:

                $Error[($Error.Count -1]

        Um die Eigenschaften des ErrorRecord-Objekts anzuzeigen, 
        geben Sie Folgendes ein:

                $Error[0] | format-list -property * -force

        In diesem Befehl überschreibt der Force-Parameter die 
        spezielle Formatierung von ErrorRecord-Objekten und stellt 
        das konventionelle Format wieder her.

        Um alle Fehler aus dem Fehlerverlauf zu löschen, verwenden 
        Sie die Clear-Methode des Fehlerarrays.

               PS> $Error.count
               17
               PS> $Error.clear()
               PS>
               PS> $Error.count
               0

       Um alle Eigenschaften und Methoden eines Fehlerarrays zu 
       suchen, verwenden Sie das Get-Member-Cmdlet mit dem 
       InputObject-Parameter. Wenn Sie eine Auflistung von Objekten 
       über die Pipeline an Get-Member übergeben, zeigt Get-Member 
       die Eigenschaften und Methoden der Objekte in der Auflistung 
       an. Wenn Sie die InputObject-Parameter von Get-Member 
       verwenden, zeigt Get-Member die Eigenschaften und Methoden der 
       Auflistung an.


$MaximumFunctionCount
------------------
        Bestimmt, wie viele Funktionen in einer angegebenen Sitzung 
        zulässig sind. 

        Gültige Werte: 1024 - 32768 (Int32)
        Standard: 4096

        Um die Funktionen in der Sitzung anzuzeigen, verwenden Sie 
        das Windows PowerShell-Laufwerk "Function:", das vom Windows 
        PowerShell-Funktionsanbieter verfügbar gemacht wird. (Geben 
        Sie "get-help function" ein, um weitere Informationen über 
        den Funktionsanbieter zu erhalten.)

        Um die Funktionen in der aktuellen Sitzung aufzulisten, geben 
        Sie Folgendes ein:

            get-childitem function:

        Um die Anzahl der Funktionen in der aktuellen Sitzung zu 
        bestimmen, geben Sie Folgendes ein:

            (get-childitem function:).count


$MaximumHistoryCount
------------------
        Bestimmt, wie viele Befehle im Befehlsverlauf für die 
        aktuelle Sitzung gespeichert werden. 

        Gültige Werte: 1 - 32768 (Int32)
        Standard: 64

        Um die Anzahl der Befehle zu bestimmen, die derzeit im 
        Befehlsverlauf gespeichert sind, geben Sie Folgendes ein:
 
            (get-history).count

        Mit dem Cmdlet "Get-History" können Sie den Befehl anzeigen, 
        der im Befehlsverlauf gespeichert wurde. Weitere 
        Informationen erhalten Sie mit folgendem Befehl: "get-help 
        about_history".



$MaximumVariableCount
------------------
        Bestimmt, wie viele Variablen - einschließlich automatischer 
        Variablen, Einstellungsvariablen sowie in Befehlen und 
        Skripts erstellter Variablen - in einer angegebenen Sitzung 
        zulässig sind. 

        Gültige Werte: 1024 - 32768 (Int32)
        Standard: 4096

        Um die Variablen in der Sitzung anzuzeigen, verwenden Sie das 
        Cmdlet "Get-Variable" sowie die Features des Windows 
        PowerShell-Laufwerks "Variable:" und des Windows 
        PowerShell-Variablenanbieters. Informationen über den 
        Variablenanbieter erhalten Sie mit folgendem Befehl: 
        "get-help variable".

        Um die aktuelle Anzahl von Variablen im System zu suchen, 
        geben Sie Folgendes ein:

            (get-variable).count



$OFS
----
        Ausgabetrennzeichen. Gibt das Zeichen an, das die Elemente 
        eines Arrays trennt, wenn das Array in eine Zeichenfolge 
        konvertiert wird. 

        Gültige Werte: eine beliebige Zeichenfolge.
        Standard: Leerzeichen

        Standardmäßig ist die Variable "$OFS" nicht vorhanden, und 
        das Ausgabetrennzeichen ist ein Leerzeichen. Sie können diese 
        Variable jedoch hinzufügen und auf eine beliebige 
        Zeichenfolge festlegen.

    BEISPIELE

    In diesem Beispiel wird gezeigt, wie ein Leerzeichen zur Trennung 
    der Werte verwendet wird, wenn ein Array in eine Zeichenfolge 
    konvertiert wird. In diesem Fall wird ein Array von ganzen Zahlen 
    in einer Variablen gespeichert, und die Variable wird in eine 
    Zeichenfolge umgewandelt.

       PS> $array = 1,2,3                 # Array von ganzen Zahlen speichern       

       PS> [string]$array                 # Array in eine Zeichenfolge umwandeln
       1 2 3                              # Elemente durch Leerzeichen trennen


    Um das Trennzeichen zu ändern, fügen Sie die Variable "$OFS" 
    hinzu, indem Sie ihr einen Wert zuweisen. Um ordnungsgemäß zu 
    funktionieren, muss die Variable den Namen "$OFS" tragen. 

       PS> $OFS = "+"                     # "$OFS" erstellen und "+" zuweisen

       PS> [string]$array                 # Befehl wiederholen
       1+2+3                              # Elemente durch Pluszeichen trennen


    Um das Standardverhalten wiederherzustellen, können Sie dem Wert 
    von "$OFS" ein Leerzeichen (" ") zuweisen oder die Variable 
    löschen. Mit diesem Befehl wird die Variable gelöscht, und es 
    wird überprüft, ob das Trennzeichen ein Leerzeichen ist.
        
       PS> Remove-Variable OFS            # "$OFS" löschen
       PS>

       PS> [string]$array                 # Befehl wiederholen
       1 2 3                              # Elemente durch Leerzeichen trennen 

$OutputEncoding
---------------
       Bestimmt den Typ der Zeichencodierung, die von Windows 
       PowerShell beim Senden von Text an andere Anwendungen 
       verwendet wird. Wenn eine Anwendung beispielsweise 
       Unicode-Zeichenfolgen an Windows PowerShell zurückgibt, muss 
       der Wert möglicherweise geändert werden, um die Zeichen 
       ordnungsgemäß zu senden.

        Gültige Werte: Objekte, die von einer Encoding-Klasse 
        	       abgeleitet wurden, beispielsweise ASCIIEncoding, 
        	       SBCSCodePageEncoding, UTF7Encoding, UTF8Encoding, 
        	       UTF32Encoding und UnicodeEncoding.

        Standard: ASCIIEncoding-Objekt (System.Text.ASCIIEncoding)

    BEISPIELE

       In diesem Beispiel wird veranschaulicht, wie der Befehl 
       FINDSTR in Windows PowerShell auf einem Computer verwendet 
       wird, der für eine Sprache mit Unicode-Zeichen wie Chinesisch 
       lokalisiert wurde. 

       Mit dem ersten Befehl wird der Wert von "$OutputEncoding" 
       gesucht. Da der Wert ein Codierungsobjekt darstellt, sollte 
       nur die EncodingName-Eigenschaft angezeigt werden.
         
          PS> $OutputEncoding.EncodingName # Aktuellen Wert suchen
          US-ASCII

       In diesem Beispiel werden mit einem FINDSTR-Befehl zwei 
       chinesischen Zeichen in der Datei "Test.txt" gesucht. Wenn der 
       FINDSTR-Befehl in der Windows-Eingabeaufforderung (Cmd.exe) 
       ausgeführt wird, sucht FINDSTR die Zeichen in der Textdatei. 
       Wenn Sie den gleichen FINDSTR-Befehl jedoch in Windows 
       PowerShell ausführen, werden die Zeichen nicht gefunden, da 
       sie von Windows PowerShell in ASCII-Text statt in Unicode-Text 
       an FINDSTR gesendet werden.

          PS> findstr <Unicode-Zeichen> 	# findstr für die Suche verwenden
          PS>                               	# Nichts gefunden

        
       Legen Sie den Wert von "$OutputEncoding" auf den Wert der 
       OutputEncoding-Eigenschaft der Konsole fest, die auf dem für 
       Windows ausgewählten Gebietsschema basiert, um den Befehl in 
       Windows PowerShell zu verwenden. Verwenden Sie doppelte 
       Doppelpunkte (::) im Befehl, da OutputEncoding eine statische 
       Eigenschaft der Konsole ist.

          PS> $OutputEncoding = [console]::outputencoding
          PS>                               # Gleichen Wert festlegen wie
                                              OutputEncoding-Eigenschaft 
                                              der Konsole
          PS> $OutputEncoding.EncodingName               
          OEM United States
                                            # Ergebniswert suchen
     
       Nach dieser Änderung werden die Zeichen vom Befehl FINDSTR 
       gefunden.

          PS> findstr <Unicode-Zeichen>               
          test.txt:         <Unicode-Zeichen>        

					# findstr für die Suche verwenden Sucht die
                                          Zeichen in der Textdatei.



$ProgressPreference
-------------------
	Bestimmt, wie PowerShell auf Statusaktualisierungen reagiert, die 
	von einem Skript, Cmdlet oder Anbieter generiert werden, 
	beispielsweise die Statusleisten, die vom Cmdlet "Write-Progress" 
	generiert werden. Mit dem Cmdlet "Write-Progress" werden 
	Statusleisten erstellt, die den Status eines Befehls darstellen.

        Gültige Werte:
	    Stop:               Zeigt keine Statusleiste an. Stattdessen 
	    			wird eine Fehlermeldung angezeigt, 
				und die Ausführung wird beendet.

     	    Inquire:            Zeigt keine Statusleiste an. 
     	    			Fordert eine Berechtigung an, 
				um fortzufahren. Wenn Sie mit 
     	    			J oder A antworten, wird 
				die Statusleiste angezeigt.

            Continue:           Zeigt die Statusleiste an und fährt 
            (Standard)		mit der Ausführung fort.

            SilentlyContinue: 	Führt den Befehl aus, zeigt jedoch 
            			keine Statusleiste an.


$PSEmailServer
--------------
       Gibt den Standard-E-Mail-Server an, der zum Senden von E-Mails 
       verwendet wird. Diese Einstellungsvariable wird beispielsweise 
       von Cmdlets wie "Send-MailMessage" verwendet, die E-Mails senden. 


$PSSessionApplicationName
---------------------------
       Gibt den Standardanwendungsnamen für einen Remotebefehl mit 
       WS-Management-Technologie an.

       Der Standardanwendungsname des Systems ist WSMAN. Sie können 
       die Standardeinstellung jedoch mit der Einstellungsvariablen 
       ändern. 

       Der Anwendungsname ist der letzte Knoten in einem 
       Verbindungs-URI. So lautet der Anwendungsname im folgenden 
       Beispiel-URI WSMAN.

           http://Server01:8080/WSMAN


       Der Standardanwendungsname wird verwendet, wenn der 
       Remotebefehl keinen Verbindungs-URI oder Anwendungsnamen angibt.  

       Der WinRM-Dienst wählt mit dem Anwendungsnamen einen Listener 
       für die Verbindungsanforderung aus. Der Wert dieses Parameters 
       sollte mit dem Wert der URLPrefix-Eigenschaft eines Listeners 
       auf dem Remotecomputer übereinstimmen.

       Um den Systemstandard und den Wert dieser Variablen zu 
       überschreiben und einen anderen Anwendungsnamen für eine 
       bestimmte Sitzung auszuwählen, verwenden Sie den 
       ConnectionURI-Parameter oder den ApplicationName-Parameter der 
       Cmdlets "New-PSSession", "Enter-PSSession" oder "Invoke-Command". 
      
       Diese Einstellungsvariable wird auf dem lokalen Computer 
       festgelegt, gibt jedoch einen Listener auf dem Remotecomputer 
       an. Wenn der angegebene Anwendungsname auf dem Remotecomputer 
       nicht vorhanden ist, führt der Befehl zum Einrichten der 
       Sitzung zu einem Fehler.



$PSSessionConfigurationName
---------------------------
       Gibt die Standardsitzung an, die für PSSessions verwendet 
       wird, die in der aktuellen Sitzung erstellt wurden.

       Diese Einstellungsvariable wird auf dem lokalen Computer 
       festgelegt, gibt jedoch eine Sitzungskonfiguration auf dem 
       Remotecomputer an. 

       Der Wert der $PSSessionConfigurationName-Variablen ist ein 
       vollqualifizierter Ressourcen-URI. 

       Der Standardwert: 

         https://schemas.microsoft.com/powershell/microsoft.powershell 

       gibt die Microsoft.PowerShell-Sitzungskonfiguration auf dem 
       Remotecomputer an. 

       Wenn Sie nur den Konfigurationsnamen angeben, wird der 
       folgende Schema-URI vorangestellt:

           https://schemas.microsoft.com/powershell/

             
       Sie können die Standardeinstellung überschreiben und mit dem 
       ConfigurationName-Parameter des Cmdlet "New-PSSession", 
       "Enter-PSSession" oder "Invoke-Command" eine andere 
       Sitzungskonfiguration für eine bestimmte Sitzung auswählen.   

       Sie können den Wert dieser Variablen jederzeit ändern. 
       Bedenken Sie dabei, dass die ausgewählte Sitzungskonfiguration 
       auf dem Remotecomputer vorhanden sein muss. Andernfalls führt 
       der Befehl zum Erstellen einer Sitzung für die Sitzungskonfigu-
       ration zu einem Fehler.

       Diese Einstellungsvariable hat keine Auswirkungen auf die lokalen 
       Sitzungskonfigurationen, die verwendet werden, wenn Remotebenutzer 
       eine Sitzung erstellen, die eine Verbindung mit diesem Computer 
       herstellt. Sie können mit den Berechtigungen für die lokalen 
       Sitzungskonfigurationen jedoch bestimmen, von welchen Benutzern diese 
       verwendet werden dürfen.


$PSSessionOption
----------------
        Legt die Standardwerte für fortgeschrittene Benutzeroptionen 
        in einer Remotesitzung fest. Durch Konfiguration dieser 
        Optionen werden die Standardwerte des Systems für 
        Sitzungsoptionen überschrieben. 

        Sie können auch benutzerdefinierte Optionen für eine 
        bestimmte Remotesitzung festlegen, indem Sie den 
        SessionOption-Parameter in Cmdlets konfigurieren, mit denen 
        eine Sitzung erstellt wird, beispielsweise "New-PSSession", 
        "Enter-PSSession" und "Invoke-Command". Der SessionOption-Para-
        meterwert hat Vorrang gegenüber den Standardeinstellungen im 
        System und in der Variablen.

        Die Variable "$PSSessionOption" enthält ein PSSessionOption-Objekt
        (System.Management.Automation.Remoting.PSSessionObject). 
	Jede Eigenschaft des Objekts stellt eine 
        Sitzungsoption dar. Beispielsweise deaktiviert die 
        NoCompression-Eigenschaft die Datenkomprimierung während der 
        Sitzung.

        Um die Einstellungsvariable "$PSSessionOption" zu erstellen, 
        verwenden Sie das Cmdlet "New-PSSessionOption". Speichern Sie 
        die Ausgabe in der Variablen "$PSSessionOption". 

        Beispiel:

            $PSSessionOption = New-PSSessionOption -NoCompression 

        Um die Einstellungsvariable "$PSSessionOption" in allen 
        Windows PowerShell-Sitzungen zu verwenden, fügen Sie dem 
        Windows PowerShell-Profil einen New-PSSessionOption-Befehl 
        hinzu, mit dem die Variable "$PSSessionOption" erstellt wird.

        Weitere Informationen über das Cmdlet "New-PSSessionOption" 
        finden Sie im Hilfethema für New-PSSessionOption. Weitere 
        Informationen über Remotebefehle und Sitzungen finden Sie 
        unter "about_Remote" und unter "about_PSSessions".
        Weitere Informationen zur Verwendung von Profilen finden Sie 
        unter "about_Profiles".




$VerbosePreference
------------------
       	Bestimmt, wie PowerShell auf ausführliche Meldungen reagiert, 
       	die von einem Skript, Cmdlet oder Anbieter generiert wurden, 
       	beispielsweise Meldungen, die vom Cmdlet "Write-Verbose" 
       	generiert werden. In der Regel werden in ausführlichen 
       	Meldungen die Aktionen zur Ausführung eines Befehls beschrieben. 
        Standardmäßig werden ausführliche Meldungen nicht angezeigt. 

        Sie können dieses Verhalten jedoch ändern, indem Sie den Wert 
        von "$VerbosePreference" ändern.

        Sie können auch den allgemeinen Verbose-Parameter eines 
        Cmdlet verwenden, um die ausführlichen Meldungen für einen 
        bestimmten Befehl anzuzeigen oder auszublenden. Weitere 
        Informationen erhalten Sie mit folgendem Befehl: "get-help 
        about_commonparameters".


        Gültige Werte:
	    Stop:               Zeigt die ausführliche Meldung sowie eine 
	    			Fehlermeldung an und beendet die Ausführung.

     	    Inquire:            Zeigt die ausführliche Meldung und 
     	    			anschließend eine Eingabeaufforderung an, in der Sie 
     	    			gefragt werden, ob Sie fortfahren möchten.

            Continue:           Zeigt die ausführliche Meldung 
            			an und setzt die Ausführung fort.

            SilentlyContinue:   Zeigt keine ausführliche 
            (Standard)		Meldung an. Setzt die Ausführung fort.


    BEISPIELE

    Diese Beispiele veranschaulichen die Auswirkungen der 
    verschiedenen Werte von "$VerbosePreference" sowie der Verwendung 
    des allgemeinen Verbose-Parameters zum Überschreiben des 
    Einstellungswerts.
    
    In diesem Beispiel werden die Auswirkungen des Werts 
    "SilentlyContinue" (Standard) veranschaulicht.

        PS> $VerbosePreference             # Aktuellen Wert suchen
        SilentlyContinue

        PS> Write-Verbose "Ausführlicher Meldungstest"              
        PS>                                # Ausführliche Meldung schreiben
                                           # Meldung wird nicht angezeigt

        PS> Write-Verbose "Ausführlicher Meldungstest" -verbose   
        VERBOSE: Ausführlicher Meldungstest
	                                   # Verbose-Parameter verwenden


    In diesem Beispiel werden die Auswirkungen des Werts "Continue" 
    veranschaulicht.

        PS> $VerbosePreference = "Continue"                    
                                           # Wert in "Continue" ändern 
        PS> Write-Verbose "Ausführlicher Meldungstest"              
                                           # Ausführliche Meldung 
                                             schreiben
        VERBOSE: Ausführlicher Meldungstest                          
					   # Meldung wird angezeigt

        PS> Write-Verbose "Ausführlicher Meldungstest" -verbose:$false 
                                           # Verbose-Parameter mit 
                                             dem Wert "$false" verwenden
        PS>                                  
                                           # Meldung wird nicht angezeigt


    In diesem Beispiel werden die Auswirkungen des Werts "Stop" 
    veranschaulicht.

        PS> $VerbosePreference = "Stop"                        
                                           # Wert in "Stop" ändern
        PS> Write-Verbose "Ausführlicher Meldungstest"              
                                           # Ausführliche Meldung schreiben
        VERBOSE: Ausführlicher Meldungstest
        Write-Verbose: Die Befehlsausführung wurde beendet, da die 
        Shellvariable "VerbosePreference" auf Stop festgelegt ist.
        Bei Zeile:1 Zeichen:14
        + Write-Verbose <<<< "Ausführlicher Meldungstest"

       PS> Write-Verbose "Ausführlicher Meldungstest" -verbose:$false
                                          # Verbose-Parameter mit dem 
                                            Wert "$false" verwenden 
       PS> 
                                          # Meldung wird nicht angezeigt

    In diesem Beispiel werden die Auswirkungen des Werts "Inquire" 
    veranschaulicht.

       PS> $VerbosePreference = "Inquire"                      
                                         # Wert in "Inquire" ändern
       PS> Write-Verbose "Ausführlicher Meldungstest"               
       VERBOSE: Ausführlicher Meldungstest
                                         # Ausführliche Meldung schreiben
       Bestätigung
       Vorgang fortsetzen?
       [J] Ja [A] Ja, alle [B] Befehl anhalten [H] Anhalten [?] Hilfe (der Standardwert ist "J"): a 
       PS>
 
       PS> Write-Verbose "Ausführlicher Meldungstest" -verbose:$false
                                        # Verbose-Parameter verwenden
       PS>                              
                                        # Meldung wird nicht angezeigt 


    
$WarningPreference
------------------
        Bestimmt, wie PowerShell auf Warnmeldungen reagiert, die von 
        einem Skript, Cmdlet oder Anbieter generiert wurden, 
        beispielsweise Meldungen, die vom Cmdlet "Write-Warning" 
        generiert werden.

        Standardmäßig werden Warnmeldungen angezeigt, und die 
        Ausführung wird fortgesetzt. Sie können dieses Verhalten 
        jedoch ändern, indem Sie den Wert von "$WarningPreference" ändern.

        Sie können auch den allgemeinen WarningAction-Parameter eines 
        Cmdlet verwenden, um zu bestimmen, wie Windows PowerShell auf 
        Warnungen eines bestimmten Befehls reagiert. Weitere 
        Informationen erhalten Sie mit folgendem Befehl: "get-help 
        about_commonparameters".


        Gültige Werte:
	    Stop:               Zeigt die Warnmeldung sowie eine 
	    			Fehlermeldung an und beendet die Ausführung.

     	    Inquire:            Zeigt die Warnmeldung an und 
     	    			fordert dann eine Berechtigung zum Fortfahren an. 

            Continue:           Zeigt die Warnmeldung an und setzt 
            (Standard) 		die Ausführung fort.

            SilentlyContinue:  	Zeigt keine Warnmeldung an. Setzt die 
            			Ausführung fort.

    BEISPIELE

    Diese Beispiele veranschaulichen die Auswirkungen der 
    verschiedenen Werte von "$WarningPreference" sowie der Verwendung 
    des allgemeinen WarningAction-Parameters zum Überschreiben des 
    Einstellungswerts.

    
    In diesem Beispiel werden die Auswirkungen des Werts "Continue" 
    (Standard) veranschaulicht.

            PS> $WarningPreference 	# Aktuellen Wert suchen                           
            Continue                  

                                      	# Warnmeldung schreiben
            PS> Write-Warning "Dieser Vorgang kann zum Löschen von Daten führen."  
            WARNING: Dieser Vorgang kann zum Löschen von Daten führen.
                                      	
                                      	# WarningAction-Parameter für " 
                                          Write-Warning" verwenden. 
                                          "Dieser Vorgang kann zum 
                                      	  Löschen von Daten führen". 
            PS> Write-Warning "Dieser Vorgang kann zum Löschen von Daten führen." -warningaction silentlycontinue   



   In diesem Beispiel werden die Auswirkungen des Werts 
   "SilentlyContinue" veranschaulicht.

            PS> $WarningPreference = "SilentlyContinue"           
                                      # Wert in SilentlyContinue ändern
 
            PS> Write-Warning "Dieser Vorgang kann zum Löschen von Daten führen."   
            PS>                        # Warnmeldung schreiben

       
            PS> Write-Warning "Dieser Vorgang kann zum Löschen von 
            Daten führen." -warningaction stop   
                                      # WarningAction-Parameter zum Beenden
				      # der Verarbeitung, 
                                        wenn der Befehl die 
	    WARNUNG: "Dieser Vorgang kann zum Löschen von Daten führen" generiert.
            Write-Warning: Die Befehlsausführung wurde beendet, da 
            die Shellvariable "WarningPreference" auf Stop festgelegt ist.
            Bei Zeile:1 Zeichen:14
            + Write-Warning <<<< "Dieser Vorgang kann zum Löschen von 
            Daten führen." -warningaction stop 


    In diesem Beispiel werden die Auswirkungen des Werts "Inquire" 
    veranschaulicht.

           PS> $WarningPreference = "Inquire"                    
                                      # Wert in "Inquire" ändern
           PS> Write-Warning "Dieser Vorgang kann zum Löschen von Daten führen."  
                                      # Warnmeldung schreiben   
           WARNING: Dieser Vorgang kann zum Löschen von Daten führen.

           Bestätigung
           Vorgang fortsetzen?
           [J] Ja [A] Ja, alle [B] Befehl anhalten [H] Anhalten [?] Hilfe (der Standardwert ist "J"): a 
           PS>

           PS> Write-Warning "Dieser Vorgang kann zum Löschen von Daten führen." -warningaction silentlycontinue
           PS>                         # WarningAction-Parameter zum Ändern der
                                       # Antwort auf eine Warnung für 
                                         den aktuellen Befehl verwenden



     In diesem Beispiel werden die Auswirkungen des Werts "Stop" veranschaulicht.

           PS> $WarningPreference = "Stop"                       
                                     # Wert in "Stop" ändern

           PS> Write-Warning "Dieser Vorgang kann zum Löschen von Daten führen."   
                                     # Warnmeldung schreiben
           WARNING: Dieser Vorgang kann zum Löschen von Daten führen.
           Write-Warning: Die Befehlsausführung wurde beendet, da die 
           Shellvariable "WarningPreference" auf Stop festgelegt ist.
           Bei Zeile:1 Zeichen:14
           + Write-Warning <<<< "Dieser Vorgang kann zum Löschen von 
           Daten führen."


           PS> Write-Warning "Dieser Vorgang kann zum Löschen von 
           Daten führen." -warningaction inquire
           WARNING: Dieser Vorgang kann zum Löschen von Daten führen.

           Bestätigung
           Vorgang fortsetzen?
           [J] Ja [A] Ja, alle [B] Befehl anhalten [H] Anhalten [?] Hilfe (Der Standardwert ist "J"):                         
					# WarningAction-Parameter zum Ändern der #Antwort auf eine 
           				# Warnung für den aktuellen Befehl verwenden


$WhatIfPreference
------------------
       	Bestimmt, ob WhatIf automatisch für jeden Befehl aktiviert 
       	wird, der den Parameter unterstützt. Wenn WhatIf aktiviert 
       	wird, meldet das Cmdlet die erwarteten Auswirkungen des 
       	Befehls, führt den Befehl jedoch nicht aus. 

        Gültige Werte:
	    0:       		WhatIf wird nicht automatisch 
	    (Standard)    	aktiviert. Verwenden Sie den 
				WhatIf-Parameter des Befehls zur 
	    			manuellen Aktivierung.
            

     	    1:                  WhatIf wird automatisch für alle Befehle 
     	    			aktiviert, die den Parameter unterstützen. Der 
     	    			WhatIf-Befehl kann mit dem Wert "False" verwendet werden, 
     	    			um den Befehl manuell zu deaktivieren (WhatIf:$false).

    DETAILBESCHREIBUNG

        Wenn WhatIf von einem Cmdlet unterstützt wird, meldet das 
        Cmdlet die erwarteten Auswirkungen des Befehls, statt den 
        Befehl auszuführen. So meldet Windows PowerShell als Antwort 
        auf einen Remove-Item-Befehl, welche Elemente gelöscht 
        würden, anstatt die Datei "test.txt" zu löschen. Durch einen 
        nachfolgenden Get-Childitem-Befehl wird bestätigt, dass die 
        Datei nicht gelöscht wurde.

              PS> remove-item test.txt
              WhatIf: Der Vorgang "Remove-Item" wird für das Ziel "Item: 
                C:\test.txt" ausgeführt.
              PS> get-childitem test.txt

              Verzeichnis: Microsoft.PowerShell.Core\FileSystem::C:


              Modus                LastWriteTime    Length     Name
              ----                -------------     ------     ----
              -a---         29.07.2006   19:15         84     test.txt 



    BEISPIELE

    In diesen Beispielen werden die Auswirkungen der verschiedenen 
    Werte von "$WhatIfPreference" veranschaulicht. Außerdem wird 
    gezeigt, wie mit dem Cmdlet "WhatIf" der Einstellungswert für 
    einen bestimmten Befehl überschrieben wird.
    
    In diesem Beispiel werden die Auswirkungen des Standardwerts 0 
    (nicht aktiviert) veranschaulicht.

             PS> $whatifpreference                     
             0                         # Aktuellen Wert überprüfen

             PS> get-childitem test.txt | format-list FullName
             FullName : C:\test.txt
                                       # Vorhandensein der Datei 
                                         überprüfen

             PS> remove-item test.txt                  
             PS>                       # Datei löschen

             PS> get-childitem test.txt | format-list -property FullName
                                       # Löschen der Datei überprüfen

             Get-ChildItem : Der Pfad 'C:\test.txt' kann nicht 
             gefunden werden, da er nicht vorhanden ist.
             Bei Zeile:1 Zeichen:14
             + get-childitem <<<< test.txt | format-list fullname


     In diesem Beispiel werden die Auswirkungen des WhatIf-Parameters 
     mit dem Wert 0 für "$WhatIfPreference" veranschaulicht.

             PS> get-childitem test2.txt | format-list -property FullName 
             FullName : C:\test2.txt
                                      # Vorhandensein der Datei überprüfen

             PS> remove-item test2.txt -whatif         
             WhatIf: Der Vorgang "Remove File" wird für das Ziel "C:\test2.txt" ausgeführt.
                                      # WhatIf-Parameter verwenden

             PS> get-childitem test2.txt | format-list -property FullName
             FullName : C:\test2.txt
                                      # Sicherstellen, dass die Datei 
                                        nicht gelöscht wurde 

    In diesem Beispiel werden die Auswirkungen des Werts 1 (WhatIf 
    aktiviert) veranschaulicht. Wenn Sie ein Cmdlet mit Remove-Item 
    löschen, wird von Remove-Item der Pfad für die zu löschende Datei 
    angezeigt, die Datei wird jedoch nicht gelöscht.

             PS> $whatifpreference = 1                 
             PS> $whatifpreference
             1                        # Wert ändern
                                      
             PS> remove-item test.txt                  
             WhatIf: Der Vorgang "Remove File" wird für das Ziel "C:\test.txt" ausgeführt.
                                      # Versuchen, eine Datei zu löschen

             PS> get-childitem test.txt | format-list FullName
             FullName : C:\test.txt
                                      # Vorhandensein der Datei überprüfen

     In diesem Beispiel wird gezeigt, wie eine Datei gelöscht wird, 
     wenn der Wert von "$WhatIfPreference" 1 ist. Dabei wird der 
     WhatIf-Parameter mit dem Wert "$false" verwendet.

             PS> remove-item test.txt -whatif:$false
                                      # WhatIf-Parameter mit "$false" verwenden

     In diesem Beispiel wird veranschaulicht, dass einige Cmdlets das 
     Verhalten von WhatIf unterstützen und andere nicht. In diesem 
     Beispiel weist "$WhatIfPreference" den Wert 1 (aktiviert) auf, 
     und ein Get-Process-Befehl, der WhatIf nicht unterstützt, wird 
     ausgeführt; das Verhalten von WhatIf wird jedoch von einem 
     Stop-Process-Befehl ausgeführt.
     Sie können das WhatIf-Verhalten des Stop-Process-Befehls mit dem 
     WhatIf-Parameter und dem Wert "$false" überschreiben.

            PS> $whatifpreference = 1                  
                                     # Wert in 1 ändern
                                                      
            PS> get-process winword 
                                    # Ein Get-Process-Befehl wird 
                                      abgeschlossen.

            Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
            -------  ------    -----      ----- -----   ------     -- -----------
                234       8     6324      15060   154     0.36   2312 WINWORD


           PS> stop-process -name winword
           WhatIf: Der Vorgang "Stop-Process" wird für das Ziel "WINWORD (2312)" ausgeführt.
                                    # Stop-Process-Befehl verwendet WhatIf

           PS> stop-process -name winword -whatif:$false
           PS>                      # WhatIf:$false überschreibt die 
           Einstellung
           
           PS> get-process winword                     
           Get-Process: Der Prozess "winword" kann nicht gefunden 
           werden. Überprüfen Sie den Prozessnamen, und rufen Sie das 
           Cmdlet erneut auf.
           Bei Zeile:1 Zeichen:12
           + get-process <<<< winword
                                    # Beenden des Prozesses überprüfen 





SIEHE AUCH
    about_Automatic_Variables
    about_CommonParameters
    about_Environment_Variables
    about_Profiles
    about_Remote
    about_Scopes
    about_Variables




Inhaltsverzeichnis