Zmienne preferencji — informacjeAbout Preference Variables

Krótki opisShort description

Zmienne, które dostosowują zachowanie programu PowerShell.Variables that customize the behavior of PowerShell.

Długi opisLong description

Program PowerShell zawiera zestaw zmiennych, które umożliwiają dostosowanie jego zachowania.PowerShell includes a set of variables that enable you to customize its behavior. Te zmienne preferencji działają podobnie jak opcje w systemach opartych na graficznym interfejsie użytkownika.These preference variables work like the options in GUI-based systems.

Zmienne preferencji mają wpływ na środowisko operacyjne programu PowerShell i wszystkie polecenia są uruchamiane w środowisku.The preference variables affect the PowerShell operating environment and all commands run in the environment. W wielu przypadkach polecenia cmdlet mają parametry, których można użyć, aby zastąpić zachowanie preferencji dla określonego polecenia.In many cases, the cmdlets have parameters that you can use to override the preference behavior for a specific command.

Poniższa tabela zawiera listę zmiennych preferencji i ich wartości domyślne.The following table lists the preference variables and their default values.

ZmiennaVariable Wartość domyślnaDefault Value
$ConfirmPreference WysokiHigh
$DebugPreference SilentlyContinueSilentlyContinue
$ErrorActionPreference KontynuujContinue
$ErrorView ConciseViewConciseView
$FormatEnumerationLimit 44
$InformationPreference SilentlyContinueSilentlyContinue
$LogCommandHealthEvent False (nie zarejestrowano)False (not logged)
$LogCommandLifecycleEvent False (nie zarejestrowano)False (not logged)
$LogEngineHealthEvent True (zarejestrowane)True (logged)
$LogEngineLifecycleEvent True (zarejestrowane)True (logged)
$LogProviderLifecycleEvent True (zarejestrowane)True (logged)
$LogProviderHealthEvent True (zarejestrowane)True (logged)
$MaximumHistoryCount 40964096
$OFS (Znak spacji ( " " ))(Space character (" "))
$OutputEncoding UTF8Encoding — obiektUTF8Encoding object
$ProgressPreference KontynuujContinue
$PSDefaultParameterValues (Brak — pusta tabela skrótów)(None - empty hash table)
$PSEmailServer (Brak)(None)
$PSModuleAutoLoadingPreference WszystkoAll
$PSSessionApplicationName WSMANwsman
$PSSessionConfigurationName http://schemas.microsoft.com/powershell/Microsoft.PowerShell
$PSSessionOption Zobacz $PSSessionOptionSee $PSSessionOption
$Transcript (brak)(none)
$VerbosePreference SilentlyContinueSilentlyContinue
$WarningPreference KontynuujContinue
$WhatIfPreference FałszFalse

Program PowerShell zawiera następujące zmienne środowiskowe, które przechowują preferencje użytkownika.PowerShell includes the following environment variables that store user preferences. Aby uzyskać więcej informacji na temat tych zmiennych środowiskowych, zobacz about_Environment_Variables.For more information about these environment variables, see about_Environment_Variables.

  • env:PSExecutionPolicyPreference
  • $env:PSModulePath

Uwaga

Zmiany w zmiennej preferencji są stosowane tylko w skryptach i funkcjach, jeśli te skrypty lub funkcje są zdefiniowane w tym samym zakresie co zakres, w którym Preferencja została użyta.Changes to preference variable only take effect in scripts and functions if those scripts or functions are defined in the same scope as the scope in which preference was used. Aby uzyskać więcej informacji, zobacz about_Scopes.For more information, see about_Scopes.

Praca z zmiennymi preferencjiWorking with preference variables

W tym dokumencie opisano wszystkie zmienne preferencji.This document describes each of the preference variables.

Aby wyświetlić bieżącą wartość określonej zmiennej preferencji, wpisz nazwę zmiennej.To display the current value of a specific preference variable, type the variable's name. Na przykład następujące polecenie wyświetla $ConfirmPreference wartość zmiennej.For example, the following command displays the $ConfirmPreference variable's value.

 $ConfirmPreference
High

Aby zmienić wartość zmiennej, użyj instrukcji przypisania.To change a variable's value, use an assignment statement. Na przykład poniższa instrukcja zmienia $ConfirmPreference wartość parametru na Średni.For example, the following statement changes the $ConfirmPreference parameter's value to Medium.

$ConfirmPreference = "Medium"

Ustawione wartości są specyficzne dla bieżącej sesji programu PowerShell.The values that you set are specific to the current PowerShell session. Aby zmienne działały we wszystkich sesjach programu PowerShell, należy dodać je do profilu programu PowerShell.To make variables effective in all PowerShell sessions, add them to your PowerShell profile. Aby uzyskać więcej informacji, zobacz about_Profiles.For more information, see about_Profiles.

Praca zdalnaWorking remotely

Po uruchomieniu poleceń na komputerze zdalnym polecenia zdalne są zgodne z preferencjami ustawionymi na kliencie programu PowerShell komputera zdalnego.When you run commands on a remote computer, the remote commands are only subject to the preferences set in the remote computer's PowerShell client. Na przykład po uruchomieniu polecenia zdalnego wartość zmiennej komputera zdalnego określa, w $DebugPreference jaki sposób program PowerShell reaguje na Debugowanie komunikatów.For example, when you run a remote command, the value of the remote computer's $DebugPreference variable determines how PowerShell responds to debugging messages.

Aby uzyskać więcej informacji na temat poleceń zdalnych, zobacz about_Remote.For more information about remote commands, see about_Remote.

$ConfirmPreference$ConfirmPreference

Określa, czy program PowerShell automatycznie monituje o potwierdzenie przed uruchomieniem polecenia cmdlet lub funkcji.Determines whether PowerShell automatically prompts you for confirmation before running a cmdlet or function.

$ConfirmPreferencePrawidłowe wartości zmiennej to High , medium i Low.The $ConfirmPreference variable's valid values are High , Medium , or Low. Polecenia cmdlet i funkcje są przydzielone ryzykiem o wartości wysoki , Średni lub niski.Cmdlets and functions are assigned a risk of High , Medium , or Low. Gdy wartość $ConfirmPreference zmiennej jest mniejsza lub równa ryzyku przypisanym do polecenia cmdlet lub funkcji, program PowerShell automatycznie monituje o potwierdzenie przed uruchomieniem polecenia cmdlet lub funkcji.When the value of the $ConfirmPreference variable is less than or equal to the risk assigned to a cmdlet or function, PowerShell automatically prompts you for confirmation before running the cmdlet or function.

Jeśli wartość $ConfirmPreference zmiennej nie jest równa none , program PowerShell nigdy nie będzie automatycznie monitował użytkownika przed uruchomieniem polecenia cmdlet lub funkcji.If the value of the $ConfirmPreference variable is None , PowerShell never automatically prompts you before running a cmdlet or function.

Aby zmienić zachowanie podczas potwierdzania dla wszystkich poleceń cmdlet i funkcji w sesji, Zmień $ConfirmPreference wartość zmiennej.To change the confirming behavior for all cmdlets and functions in the session, change $ConfirmPreference variable's value.

Aby zastąpić $ConfirmPreference dla jednego polecenia, należy użyć polecenia cmdlet lub parametru potwierdzenia funkcji.To override the $ConfirmPreference for a single command, use a cmdlet's or function's Confirm parameter. Aby poprosić o potwierdzenie, użyj -Confirm .To request confirmation, use -Confirm. Aby pominąć potwierdzenie, użyj -Confirm:$false .To suppress confirmation, use -Confirm:$false.

Prawidłowe wartości $ConfirmPreference :Valid values of $ConfirmPreference:

  • Brak : program PowerShell nie monituje automatycznie.None : PowerShell doesn't prompt automatically. Aby zażądać potwierdzenia określonego polecenia, użyj parametru Confirm polecenia cmdlet lub Function.To request confirmation of a particular command, use the Confirm parameter of the cmdlet or function.
  • Niski : program PowerShell monituje o potwierdzenie przed uruchomieniem poleceń cmdlet lub funkcji z niskim, średnim lub wysokim ryzykiem.Low : PowerShell prompts for confirmation before running cmdlets or functions with a low, medium, or high risk.
  • Średni : program PowerShell monituje o potwierdzenie przed uruchomieniem poleceń cmdlet lub funkcji z średnim lub wysokim ryzykiem.Medium : PowerShell prompts for confirmation before running cmdlets or functions with a medium, or high risk.
  • Wysoka : program PowerShell monituje o potwierdzenie przed uruchomieniem poleceń cmdlet lub funkcji z wysokim ryzykiem.High : PowerShell prompts for confirmation before running cmdlets or functions with a high risk.

Szczegółowe wyjaśnienieDetailed explanation

Program PowerShell może automatycznie monitować o potwierdzenie przed wykonaniem akcji.PowerShell can automatically prompt you for confirmation before doing an action. Na przykład, gdy polecenie cmdlet lub funkcja znacząco wpływa na system do usuwania danych lub zużywa znaczną ilość zasobów systemowych.For example, when cmdlet or function significantly affects the system to delete data or use a significant amount of system resources.

Remove-Item -Path C:\file.txt
Confirm
Are you sure you want to perform this action?
Performing operation "Remove File" on Target "C:\file.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"):

Oszacowanie ryzyka jest atrybutem poleceń cmdlet lub funkcji znanych jako jej ConfirmImpact.The estimate of the risk is an attribute of the cmdlet or function known as its ConfirmImpact. Użytkownicy nie mogą zmienić tego ustawienia.Users can't change it.

Polecenia cmdlet i funkcje, które mogą stanowić zagrożenie dla systemu, mają potwierdzenie parametru, za pomocą którego można zażądać lub pominąć potwierdzenie dla jednego polecenia.Cmdlets and functions that might pose a risk to the system have a Confirm parameter that you can use to request or suppress confirmation for a single command.

Ze względu na to, że większość poleceń cmdlet i funkcji używa domyślnej wartości ryzyka, ConfirmImpact , średniej , a wartość domyślna $ConfirmPreference to wysokie , automatyczne potwierdzenie jest rzadko wykonywane.Because most cmdlets and functions use the default risk value, ConfirmImpact , of Medium , and the default value of $ConfirmPreference is High , automatic confirmation rarely occurs. Można jednak aktywować automatyczne potwierdzenie, zmieniając wartość $ConfirmPreference na Średni lub niski.However, you can activate automatic confirmation by changing the value of $ConfirmPreference to Medium or Low.

PrzykładyExamples

Ten przykład pokazuje efekt $ConfirmPreference wartości domyślnej zmiennej, wysoki.This example shows the effect of the $ConfirmPreference variable's default value, High. Wysoka wartość potwierdza tylko polecenia cmdlet i funkcje o wysokim ryzyku.The High value only confirms high-risk cmdlets and functions. Ponieważ większość poleceń cmdlet i funkcji jest średnim ryzykiem, nie są one automatycznie potwierdzane i Remove-Item usuwają plik.Since most cmdlets and functions are medium risk, they aren't automatically confirmed and Remove-Item deletes the file. Dodanie -Confirm do polecenia monituje użytkownika o potwierdzenie.Adding -Confirm to the command prompts the user for confirmation.

$ConfirmPreference
High
Remove-Item -Path C:\temp1.txt

Użyj -Confirm , aby zażądać potwierdzenia.Use -Confirm to request confirmation.

Remove-Item -Path C:\temp2.txt -Confirm
Confirm
Are you sure you want to perform this action?
Performing operation "Remove File" on Target "C:\temp2.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All
[?] Help (default is "Y"):

Poniższy przykład pokazuje wpływ zmiany wartości $ConfirmPreference na średnią.The following example shows the effect of changing the value of $ConfirmPreference to Medium. Ponieważ większość poleceń cmdlet i funkcji jest średnim ryzykiem, są one automatycznie potwierdzane.Because most cmdlets and function are medium risk, they're automatically confirmed. Aby pominąć monit o potwierdzenie dla pojedynczego polecenia, należy użyć parametru Confirm z wartością $false .To suppress the confirmation prompt for a single command, use the Confirm parameter with a value of $false.

$ConfirmPreference = "Medium"
Remove-Item -Path C:\temp2.txt
Confirm
Are you sure you want to perform this action?
Performing operation "Remove File" on Target "C:\temp2.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All
[?] Help (default is "Y"):
Remove-Item -Path C:\temp3.txt -Confirm:$false

$DebugPreference$DebugPreference

Określa, w jaki sposób program PowerShell reaguje na Debugowanie komunikatów generowanych przez skrypt, polecenie cmdlet lub dostawcę lub Write-Debug polecenie w wierszu polecenia.Determines how PowerShell responds to debugging messages generated by a script, cmdlet or provider, or by a Write-Debug command at the command line.

Niektóre polecenia cmdlet wyświetlają komunikaty debugowania, które są zazwyczaj wiadomościami technicznymi przeznaczonymi dla programistów i specjalistów pomocy technicznej.Some cmdlets display debugging messages, which are typically technical messages designed for programmers and technical support professionals. Domyślnie komunikaty debugowania nie są wyświetlane, ale można wyświetlić komunikaty debugowania, zmieniając wartość parametru $DebugPreference .By default, debugging messages aren't displayed, but you can display debugging messages by changing the value of $DebugPreference.

Do wyświetlania lub ukrywania komunikatów debugowania dla określonego polecenia służy polecenie cmdlet Debug Common.You can use the Debug common parameter of a cmdlet to display or hide the debugging messages for a specific command. Aby uzyskać więcej informacji, zobacz about_CommonParameters.For more information, see about_CommonParameters.

Prawidłowe wartości są następujące:The valid values are as follows:

  • Zatrzymaj : wyświetla komunikat debugowania i zatrzymuje wykonywanie.Stop : Displays the debug message and stops executing. Zapisuje błąd w konsoli programu.Writes an error to the console.
  • Zapytanie : wyświetla komunikat debugowania i pyta, czy chcesz kontynuować.Inquire : Displays the debug message and asks you whether you want to continue. Dodanie typowego parametru Debug do polecenia, gdy polecenie jest skonfigurowane do generowania komunikatu debugowania, zmienia wartość $DebugPreference zmiennej do zapytania.Adding the Debug common parameter to a command, when the command is configured to generate a debugging message, changes the value of the $DebugPreference variable to Inquire.
  • Kontynuuj : wyświetla komunikat debugowania i kontynuuje wykonywanie.Continue : Displays the debug message and continues with execution.
  • SilentlyContinue : (domyślnie) nie ma żadnego wpływu.SilentlyContinue : (Default) No effect. Komunikat debugowania nie jest wyświetlany i wykonywanie jest kontynuowane bez przeszkód.The debug message isn't displayed and execution continues without interruption.

PrzykładyExamples

Poniższe przykłady pokazują efekt zmiany wartości $DebugPreference po Write-Debug wprowadzeniu polecenia w wierszu polecenia.The following examples show the effect of changing the values of $DebugPreference when a Write-Debug command is entered at the command line. Zmiana ma wpływ na wszystkie komunikaty debugowania, w tym komunikaty generowane przez polecenia cmdlet i skrypty.The change affects all debugging messages, including messages generated by cmdlets and scripts. Przykłady przedstawiają parametr Debug , który wyświetla lub ukrywa komunikaty debugowania powiązane z pojedynczym poleceniem.The examples show the Debug parameter, which displays or hides the debugging messages related to a single command.

Ten przykład pokazuje efekt $DebugPreference wartości domyślnej zmiennej, SilentlyContinue.This example shows the effect of the $DebugPreference variable's default value, SilentlyContinue. Domyślnie Write-Debug komunikat debugowania polecenia cmdlet nie jest wyświetlany i przetwarzanie jest kontynuowane.By default, the Write-Debug cmdlet's debug message isn't displayed and processing continues. Gdy jest używany parametr Debug , zastępuje on preferencję dla jednego polecenia.When the Debug parameter is used, it overrides the preference for a single command. Zostanie wyświetlony komunikat dotyczący debugowania.The debug message is displayed.

$DebugPreference
SilentlyContinue
Write-Debug -Message "Hello, World"
Write-Debug -Message "Hello, World" -Debug
DEBUG: Hello, World

Ten przykład pokazuje efekt $DebugPreference z wartością Kontynuuj .This example shows the effect of $DebugPreference with the Continue value. Zostanie wyświetlony komunikat debugowania, a polecenie kontynuuje przetwarzanie.The debug message is displayed and the command continues to process.

$DebugPreference = "Continue"
Write-Debug -Message "Hello, World"
DEBUG: Hello, World

W tym przykładzie używa parametru Debug z wartością, $false Aby pominąć komunikat dla jednego polecenia.This example uses the Debug parameter with a value of $false to suppress the message for a single command. Komunikat debugowania nie jest wyświetlany.The debug message isn't displayed.

Write-Debug -Message "Hello, World" -Debug:$false

Ten przykład pokazuje efekt $DebugPreference Ustawienia wartość stop .This example shows the effect of $DebugPreference being set to the Stop value. Zostanie wyświetlony komunikat debugowania, a polecenie zostanie zatrzymane.The debug message is displayed and the command is stopped.

$DebugPreference = "Stop"
Write-Debug -Message "Hello, World"
DEBUG: Hello, World
Write-Debug : The running command stopped because the preference variable
 "DebugPreference" or common parameter is set to Stop: Hello, World
At line:1 char:1
+ Write-Debug -Message "Hello, World"

W tym przykładzie używa parametru Debug z wartością, $false Aby pominąć komunikat dla jednego polecenia.This example uses the Debug parameter with a value of $false to suppress the message for a single command. Komunikat debugowania nie jest wyświetlany i przetwarzanie nie zostało zatrzymane.The debug message isn't displayed and processing isn't stopped.

Write-Debug -Message "Hello, World" -Debug:$false

Ten przykład pokazuje efekt $DebugPreference ustawienia wartości zapytania .This example shows the effect of $DebugPreference being set to the Inquire value. Zostanie wyświetlony komunikat debugowania, a użytkownik zostanie poproszony o potwierdzenie.The debug message is displayed and the user is prompted for confirmation.

$DebugPreference = "Inquire"
Write-Debug -Message "Hello, World"
DEBUG: Hello, World

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):

W tym przykładzie używa parametru Debug z wartością, $false Aby pominąć komunikat dla jednego polecenia.This example uses the Debug parameter with a value of $false to suppress the message for a single command. Komunikat debugowania nie jest wyświetlany i przetwarzanie jest kontynuowane.The debug message isn't displayed and processing continues.

Write-Debug -Message "Hello, World" -Debug:$false

$ErrorActionPreference$ErrorActionPreference

Określa, w jaki sposób program PowerShell reaguje na błąd niekończący, ale nie zatrzymuje przetwarzania poleceń cmdlet.Determines how PowerShell responds to a non-terminating error, an error that doesn't stop the cmdlet processing. Na przykład w wierszu polecenia lub w skrypcie, polecenia cmdlet lub dostawcy, takie jak błędy wygenerowane przez Write-Error polecenie cmdlet.For example, at the command line or in a script, cmdlet, or provider, such as the errors generated by the Write-Error cmdlet.

Można użyć ErrorAction wspólnego parametru polecenia cmdlet, aby zastąpić preferencję dla konkretnego polecenia.You can use a cmdlet's ErrorAction common parameter to override the preference for a specific command.

Prawidłowe wartości są następujące:The valid values are as follows:

  • Przerwij — wprowadź debuger, gdy wystąpi błąd lub gdy zostanie zgłoszony wyjątek.Break - Enter the debugger when an error occurs or when an exception is raised.
  • Kontynuuj : (domyślnie) wyświetla komunikat o błędzie i kontynuuje wykonywanie.Continue : (Default) Displays the error message and continues executing.
  • Ignoruj : pomija komunikat o błędzie i kontynuuje wykonywanie polecenia.Ignore : Suppresses the error message and continues to execute the command. Wartość Ignore jest przeznaczona do użycia na polecenie, a nie do użycia jako zapisana preferencja.The Ignore value is intended for per-command use, not for use as saved preference. Wartość Ignore nie jest prawidłową wartością dla $ErrorActionPreference zmiennej.Ignore isn't a valid value for the $ErrorActionPreference variable.
  • Zapytanie : wyświetla komunikat o błędzie i pyta, czy chcesz kontynuować.Inquire : Displays the error message and asks you whether you want to continue.
  • SilentlyContinue : Brak efektu.SilentlyContinue : No effect. Komunikat o błędzie nie jest wyświetlany i wykonywanie jest kontynuowane bez przeszkód.The error message isn't displayed and execution continues without interruption.
  • Zatrzymaj : wyświetla komunikat o błędzie i zatrzymuje wykonywanie.Stop : Displays the error message and stops executing. Oprócz wygenerowanego błędu, wartość stop generuje obiekt ActionPreferenceStopException do strumienia błędu.In addition to the error generated, the Stop value generates an ActionPreferenceStopException object to the error stream. strumieństream
  • Wstrzymanie : automatycznie wstrzymuje zadanie przepływu pracy, aby umożliwić dalsze badanie.Suspend : Automatically suspends a workflow job to allow for further investigation. Po zbadaniu przepływ pracy można wznowić.After investigation, the workflow can be resumed. Wartość wstrzymania jest przeznaczona do użycia na polecenie, a nie do użycia jako zapisana preferencja.The Suspend value is intended for per-command use, not for use as saved preference. Wstrzymanie nie jest prawidłową wartością dla $ErrorActionPreference zmiennej.Suspend isn't a valid value for the $ErrorActionPreference variable.

$ErrorActionPreference parametr ErrorAction nie wpływa na to, w jaki sposób program PowerShell reaguje na przerywanie przetwarzania poleceń cmdlet.$ErrorActionPreference and the ErrorAction parameter don't affect how PowerShell responds to terminating errors that stop cmdlet processing. Aby uzyskać więcej informacji o typowym parametrze ErrorAction , zobacz about_CommonParameters.For more information about the ErrorAction common parameter, see about_CommonParameters.

PrzykładyExamples

Te przykłady pokazują efekt różnych wartości $ErrorActionPreference zmiennej.These examples show the effect of the different values of the $ErrorActionPreference variable. Parametr ErrorAction służy do przesłonięcia $ErrorActionPreference wartości.The ErrorAction parameter is used to override the $ErrorActionPreference value.

Ten przykład pokazuje $ErrorActionPreference wartość domyślną, Kontynuuj.This example shows the $ErrorActionPreference default value, Continue. Generowany jest błąd niepowodujący zakończenia.A non-terminating error is generated. Komunikat jest wyświetlany i przetwarzanie jest kontynuowane.The message is displayed and processing continues.

# Change the ErrorActionPreference to 'Continue'
$ErrorActionPreference = 'Continue'
# Generate a non-terminating error and continue processing the script.
Write-Error -Message  'Test Error' ; Write-Host 'Hello World'
Write-Error: Test Error
Hello World

Ten przykład pokazuje $ErrorActionPreference wartość domyślną, zapytanie.This example shows the $ErrorActionPreference default value, Inquire. Zostanie wygenerowany błąd i zostanie wyświetlony monit o wykonanie akcji.An error is generated and a prompt for action is shown.

# Change the ErrorActionPreference to 'Inquire'
$ErrorActionPreference = 'Inquire'
Write-Error -Message 'Test Error' ; Write-Host 'Hello World'
Confirm
Test Error
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is "Y"):

Ten przykład pokazuje $ErrorActionPreference zestaw SilentlyContinue.This example shows the $ErrorActionPreference set to SilentlyContinue. Komunikat o błędzie jest pomijany.The error message is suppressed.

# Change the ErrorActionPreference to 'SilentlyContinue'
$ErrorActionPreference = 'SilentlyContinue'
# Generate an error message
Write-Error -Message 'Test Error' ; Write-Host 'Hello World'
# Error message is suppressed and script continues processing
Hello World

Ten przykład pokazuje $ErrorActionPreference zestaw, który ma zostać zatrzymany.This example shows the $ErrorActionPreference set to Stop. Pokazuje również dodatkowy obiekt wygenerowany dla $Error zmiennej.It also shows the extra object generated to the $Error variable.

# Change the ErrorActionPreference to 'Stop'
$ErrorActionPreference = 'Stop'
# Error message is is generated and script stops processing
Write-Error -Message 'Test Error' ; Write-Host 'Hello World'

# Show the ActionPreferenceStopException and the error generated
$Error[0]
$Error[1]
Write-Error: Test Error

ErrorRecord                 : Test Error
WasThrownFromThrowStatement : False
TargetSite                  : System.Collections.ObjectModel.Collection`1[System.Management.Automation.PSObject]
                              Invoke(System.Collections.IEnumerable)
StackTrace                  :    at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
                                 at Microsoft.PowerShell.Executor.ExecuteCommandHelper(Pipeline tempPipeline,
                              Exception& exceptionThrown, ExecutionOptions options)
Message                     : The running command stopped because the preference variable "ErrorActionPreference" or
                              common parameter is set to Stop: Test Error
Data                        : {System.Management.Automation.Interpreter.InterpretedFrameInfo}
InnerException              :
HelpLink                    :
Source                      : System.Management.Automation
HResult                     : -2146233087

Write-Error: Test Error

$ErrorView$ErrorView

Określa format wyświetlania komunikatów o błędach w programie PowerShell.Determines the display format of error messages in PowerShell.

Prawidłowe wartości są następujące:The valid values are as follows:

  • ConciseView : (domyślnie) zawiera zwięzły komunikat o błędzie i widok refaktoryzacji dla zaawansowanych konstruktorów modułów.ConciseView : (Default) Provides a concise error message and a refactored view for advanced module builders. Jeśli błąd pochodzi z wiersza polecenia, jest to jednowierszowy komunikat o błędzie.If the error is from command line it's a single line error message. W przeciwnym razie zostanie wyświetlony wielowierszowy komunikat o błędzie, który zawiera błąd i wskaźnik do błędu pokazującego miejsce wystąpienia w tym wierszu.Otherwise, you receive a multiline error message that contains the error and a pointer to the error showing where it occurs in that line. Jeśli Terminal obsługuje terminal wirtualny, kody kolorów ANSI są używane do zapewnienia akcentu koloru.If the terminal supports Virtual Terminal, then ANSI color codes are used to provide color accent. Kolor akcentu można zmienić na $Host.PrivateData.ErrorAccentColor .The Accent color can be changed at $Host.PrivateData.ErrorAccentColor. Użyj Get-Error polecenia cmdlet, aby uzyskać obszerny szczegółowy widok w pełni kwalifikowanych błędów, w tym wyjątków wewnętrznych.Use Get-Error cmdlet for a comprehensive detailed view of the fully qualified error, including inner exceptions.

    ConciseView został dodany w programie PowerShell 7.ConciseView was added in PowerShell 7.

  • NormalView : widok szczegółowy przeznaczony dla większości użytkowników.NormalView : A detailed view designed for most users. Składa się z opisu błędu i nazwy obiektu, w którym wystąpił błąd.Consists of a description of the error and the name of the object involved in the error.

  • CategoryView : zwięzły, strukturalny widok zaprojektowany dla środowisk produkcyjnych.CategoryView : A succinct, structured view designed for production environments. Format jest następujący:The format is as follows:

    {Category}: ({TargetName}: {TargetType}): [{Activity}], {powód}{Category}: ({TargetName}:{TargetType}):[{Activity}], {Reason}

Aby uzyskać więcej informacji na temat pól w CategoryView , zobacz ErrorCategoryInfo Class.For more information about the fields in CategoryView , see ErrorCategoryInfo class.

PrzykładyExamples

Ten przykład pokazuje, jak pojawia się błąd, gdy wartość $ErrorView jest wartością domyślną, ConciseView.This example shows how an error appears when the value of $ErrorView is the default, ConciseView. Get-ChildItem służy do znajdowania nieistniejącego katalogu.Get-ChildItem is used to find a non-existent directory.

Get-ChildItem -path 'C:\NoRealDirectory'
Get-ChildItem: Cannot find path 'C:\NoRealDirectory' because it does not exist.

Ten przykład pokazuje, jak pojawia się błąd, gdy wartość $ErrorView jest wartością domyślną, ConciseView.This example shows how an error appears when the value of $ErrorView is the default, ConciseView. Script.ps1 jest uruchamiany i zgłasza błąd z Get-Item instrukcji.Script.ps1 is run and throws an error from Get-Item statement.

./Script.ps1
Get-Item: C:\Script.ps1
Line |
  11 | Get-Item -Path .\stuff
     | ^ Cannot find path 'C:\demo\stuff' because it does not exist.

Ten przykład pokazuje, jak pojawia się błąd, gdy wartość $ErrorView jest zmieniana na NormalView.This example shows how an error appears when the value of $ErrorView is changed to NormalView. Get-ChildItem służy do znajdowania nieistniejącego pliku.Get-ChildItem is used to find a non-existent file.

Get-ChildItem -Path C:\nofile.txt
Get-ChildItem : Cannot find path 'C:\nofile.txt' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Path C:\nofile.txt

Ten przykład pokazuje, jak ten sam błąd pojawia się, gdy wartość $ErrorView jest zmieniana na CategoryView.This example shows how the same error appears when the value of $ErrorView is changed to CategoryView.

$ErrorView = "CategoryView"
Get-ChildItem -Path C:\nofile.txt
ObjectNotFound: (C:\nofile.txt:String) [Get-ChildItem], ItemNotFoundException

Ten przykład pokazuje, że wartość $ErrorView dotyczy tylko wyświetlania błędów.This example demonstrates that the value of $ErrorView only affects the error display. Nie zmienia struktury obiektu błędu, który jest przechowywany w $Error zmiennej automatycznej.It doesn't change the structure of the error object that is stored in the $Error automatic variable. Aby uzyskać informacje na temat $Error zmiennej automatycznej, zobacz about_automatic_variables.For information about the $Error automatic variable, see about_automatic_variables.

Następujące polecenie pobiera obiekt ErrorRecord skojarzony z ostatnim błędem w tablicy błędów, element 0 i formatuje wszystkie właściwości obiektu błędu na liście.The following command takes the ErrorRecord object associated with the most recent error in the error array, element 0 , and formats all the error object's properties in a list.

$Error[0] | Format-List -Property * -Force
PSMessageDetails      :
Exception             : System.Management.Automation.ItemNotFoundException:
                          Cannot find path 'C:\nofile.txt' because it does
                          not exist.
                        at System.Management.Automation.SessionStateInternal.
                          GetChildItems(String path, Boolean recurse, UInt32
                          depth, CmdletProviderContext context)
                        at System.Management.Automation.ChildItemCmdlet
                          ProviderIntrinsics.Get(String path, Boolean
                          recurse, UInt32 depth, 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
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {0, 1}

$FormatEnumerationLimit$FormatEnumerationLimit

Określa liczbę wyliczonych elementów uwzględnionych na ekranie.Determines how many enumerated items are included in a display. Ta zmienna nie ma wpływu na obiekty bazowe, tylko wyświetlanie.This variable doesn't affect the underlying objects, only the display. Gdy wartość $FormatEnumerationLimit jest mniejsza niż liczba wyliczonych elementów, program PowerShell dodaje wielokropek (), ... Aby wskazać elementy, które nie są wyświetlane.When the value of $FormatEnumerationLimit is fewer than the number of enumerated items, PowerShell adds an ellipsis (...) to indicate items not shown.

Prawidłowe wartości : liczby całkowite ( Int32 )Valid values : Integers (Int32)

Wartość domyślna : 4Default value : 4

PrzykładyExamples

Ten przykład pokazuje, jak używać $FormatEnumerationLimit zmiennej, aby poprawić wyświetlanie wyliczonych elementów.This example shows how to use the $FormatEnumerationLimit variable to improve the display of enumerated items.

Polecenie w tym przykładzie generuje tabelę zawierającą listę wszystkich usług działających na komputerze w dwóch grupach: jeden dla uruchomionych usług i jeden dla zatrzymanych usług.The command in this example generates a table that lists all the services running on the computer in two groups: one for running services and one for stopped services. Używa Get-Service polecenia, aby pobrać wszystkie usługi, a następnie wysyła wyniki za pośrednictwem potoku do Group-Object polecenia cmdlet, które grupuje wyniki według stanu usługi.It uses a Get-Service command to get all the services, and then sends the results through the pipeline to the Group-Object cmdlet, which groups the results by the service status.

Wynik jest tabelą, która wyświetla stan w kolumnie Nazwa i procesy w kolumnie Grupa .The result is a table that lists the status in the Name column, and the processes in the Group column. Aby zmienić etykiety kolumn, Użyj tabeli skrótów, zobacz about_Hash_Tables.To change the column labels, use a hash table, see about_Hash_Tables. Aby uzyskać więcej informacji, zobacz przykłady w tabeli format.For more information, see the examples in Format-Table.

Znajdź bieżącą wartość $FormatEnumerationLimit .Find the current value of $FormatEnumerationLimit.

$FormatEnumerationLimit
4

Wyświetl listę wszystkich usług pogrupowanych według stanu.List all services grouped by Status. W kolumnie Grupa dla każdego stanu znajduje się maksymalnie cztery usługi, ponieważ $FormatEnumerationLimit ma ona wartość 4.There are a maximum of four services listed in the Group column for each status because $FormatEnumerationLimit has a value of 4.

Get-Service | Group-Object -Property Status
Count  Name       Group
-----  ----       -----
60     Running    {AdtAgent, ALG, Ati HotKey Poller, AudioSrv...}
41     Stopped    {Alerter, AppMgmt, aspnet_state, ATI Smart...}

Aby zwiększyć liczbę elementów na liście, zwiększ wartość $FormatEnumerationLimit do 1000.To increase the number of items listed, increase the value of $FormatEnumerationLimit to 1000. Użyj Get-Service programu i, Group-Object Aby wyświetlić usługi.Use Get-Service and Group-Object to display the services.

$FormatEnumerationLimit = 1000
Get-Service | Group-Object -Property Status
Count  Name       Group
-----  ----       -----
60     Running    {AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmExec...
41     Stopped    {Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc...

Użyj Format-Table z parametrem Otocz , aby wyświetlić listę usług.Use Format-Table with the Wrap parameter to display the list of services.

Get-Service | Group-Object -Property Status | Format-Table -Wrap
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, FastUserSwitchingCompatibility,
                  HTTPFilter, ImapiService, Mapsvc, Messenger, mnmsrvc,
                  MSDTC, MSIServer, msvsmon80, NetDDE, NetDDEdsdm, NtmsSvc,
                  NVSvc, ose, RasAuto, RDSessMgr, RemoteAccess, RpcLocator,
                  SCardSvr, SwPrv, SysmonLog, TlntSvr, upnphost, UPS, VSS,
                  WmdmPmSN, Wmi, WmiApSrv, xmlprov}

$InformationPreference$InformationPreference

$InformationPreferenceZmienna pozwala ustawić preferencje strumienia informacji, które mają być wyświetlane użytkownikom.The $InformationPreference variable lets you set information stream preferences that you want displayed to users. Komunikaty informacyjne, które zostały dodane do poleceń lub skryptów przez dodanie polecenia cmdlet Write-Information .Specifically, informational messages that you added to commands or scripts by adding the Write-Information cmdlet. Jeśli parametr InformationAction jest używany, jego wartość zastępuje wartość $InformationPreference zmiennej.If the InformationAction parameter is used, its value overrides the value of the $InformationPreference variable. Write-Information wprowadzono w programie PowerShell 5,0.Write-Information was introduced in PowerShell 5.0.

Prawidłowe wartości są następujące:The valid values are as follows:

  • Stop : zatrzymuje polecenie lub skrypt w wystąpieniu Write-Information polecenia.Stop : Stops a command or script at an occurrence of the Write-Information command.
  • Zapytanie : wyświetla komunikat informacyjny określony w Write-Information poleceniu, a następnie pyta, czy chcesz kontynuować.Inquire : Displays the informational message that you specify in a Write-Information command, then asks whether you want to continue.
  • Kontynuuj : wyświetla komunikat informacyjny i kontynuuje działanie.Continue : Displays the informational message, and continues running.
  • Wstrzymanie jest dostępne tylko dla przepływów pracy, które nie są obsługiwane w programie PowerShell 6 i nowszych.Suspend is only available for workflows which aren't supported in PowerShell 6 and beyond.
  • SilentlyContinue : (domyślnie) nie ma żadnego wpływu.SilentlyContinue : (Default) No effect. Komunikaty informacyjne nie są wyświetlane, a skrypt kontynuuje działanie bez przeszkód.The informational messages aren't displayed, and the script continues without interruption.

$Log * — zdarzenie$Log*Event

Zmienne preferencji **zdarzenia log *** określają, które typy zdarzeń są zapisywane w dzienniku zdarzeń programu PowerShell w Podgląd zdarzeń.The Log*Event preference variables determine which types of events are written to the PowerShell event log in Event Viewer. Domyślnie rejestrowane są tylko zdarzenia aparatu i dostawcy.By default, only engine and provider events are logged. Można jednak użyć zmiennych preferencji **zdarzeń log *** do dostosowywania dziennika, takich jak rejestrowanie zdarzeń dotyczących poleceń.But, you can use the Log*Event preference variables to customize your log, such as logging events about commands.

Zmienne preferencji **zdarzenia log *** są następujące:The Log*Event preference variables are as follows:

  • $LogCommandHealthEvent: Rejestruje błędy i wyjątki w przypadku inicjowania i przetwarzania polecenia.$LogCommandHealthEvent: Logs errors and exceptions in command initialization and processing. Wartość domyślna to $false (nie zarejestrowano).The default is $false (not logged).
  • $LogCommandLifecycleEvent: Rejestruje uruchamianie i zatrzymywanie poleceń oraz potoków poleceń i wyjątków zabezpieczeń w ramach odnajdywania poleceń.$LogCommandLifecycleEvent: Logs the starting and stopping of commands and command pipelines and security exceptions in command discovery. Wartość domyślna to $false (nie zarejestrowano).The default is $false (not logged).
  • $LogEngineHealthEvent: Rejestruje błędy i błędy sesji.$LogEngineHealthEvent: Logs errors and failures of sessions. Wartość domyślna to $true (zarejestrowane).The default is $true (logged).
  • $LogEngineLifecycleEvent: Rejestruje otwieranie i zamykanie sesji.$LogEngineLifecycleEvent: Logs the opening and closing of sessions. Wartość domyślna to $true (zarejestrowane).The default is $true (logged).
  • $LogProviderHealthEvent: Rejestruje błędy dostawcy, takie jak błędy odczytu i zapisu, błędy wyszukiwania i błędy wywołania.$LogProviderHealthEvent: Logs provider errors, such as read and write errors, lookup errors, and invocation errors. Wartość domyślna to $true (zarejestrowane).The default is $true (logged).
  • $LogProviderLifecycleEvent: Rejestruje Dodawanie i usuwanie dostawców programu PowerShell.$LogProviderLifecycleEvent: Logs adding and removing of PowerShell providers. Wartość domyślna to $true (zarejestrowane).The default is $true (logged). Aby uzyskać informacje o dostawcach programu PowerShell, zobacz about_Providers.For information about PowerShell providers, see about_Providers.

Aby włączyć **zdarzenia log *** , wpisz zmienną o wartości $true , na przykład:To enable a Log*Event , type the variable with a value of $true, for example:

$LogCommandLifeCycleEvent = $true

Aby wyłączyć typ zdarzenia, wpisz zmienną o wartości $false , na przykład:To disable an event type, type the variable with a value of $false, for example:

$LogCommandLifeCycleEvent = $false

Zdarzenia, które można włączyć, są efektywne tylko dla bieżącej konsoli programu PowerShell.The events that you enable are effective only for the current PowerShell console. Aby zastosować konfigurację do wszystkich konsol, Zapisz ustawienia zmiennej w profilu programu PowerShell.To apply the configuration to all consoles, save the variable settings in your PowerShell profile. Aby uzyskać więcej informacji, zobacz about_Profiles.For more information, see about_Profiles.

$MaximumHistoryCount$MaximumHistoryCount

Określa liczbę poleceń, które są zapisywane w historii poleceń dla bieżącej sesji.Determines how many commands are saved in the command history for the current session.

Prawidłowe wartości : 1-32768 ( Int32 )Valid values : 1 - 32768 (Int32)

Wartość domyślna : 4096Default : 4096

Aby określić liczbę poleceń aktualnie zapisanych w historii poleceń, wpisz:To determine the number of commands current saved in the command history, type:

(Get-History).Count

Aby wyświetlić polecenia zapisane w historii sesji, użyj Get-History polecenia cmdlet.To see the commands saved in your session history, use the Get-History cmdlet. Aby uzyskać więcej informacji, zobacz about_History.For more information, see about_History.

$OFS$OFS

Separator pola danych wyjściowych (OFS) określa znak oddzielający elementy tablicy, która jest konwertowana na ciąg.The Output Field Separator (OFS) specifies the character that separates the elements of an array that is converted to a string.

Prawidłowe wartości : dowolny ciąg.Valid values : Any string.

Domyślne : SpaceDefault : Space

Domyślnie $OFS zmienna nie istnieje i separator pliku wyjściowego jest spacją, ale można dodać tę zmienną i ustawić ją na dowolny ciąg.By default, the $OFS variable doesn't exist and the output file separator is a space, but you can add this variable and set it to any string. Wartość $OFS w sesji można zmienić, wpisując polecenie $OFS="<value>" .You can change the value of $OFS in your session, by typing $OFS="<value>".

Uwaga

Jeśli oczekujesz, że wartość domyślna miejsca ( " " ) w skrypcie, module lub w danych wyjściowych konfiguracji, należy zachować ostrożność, aby $OFS wartość domyślna nie była zmieniana w innym miejscu w kodzie.If you're expecting the default value of a space (" ") in your script, module, or configuration output, be careful that the $OFS default value hasn't been changed elsewhere in your code.

PrzykładyExamples

Ten przykład pokazuje, że spacja jest używana do rozdzielania wartości, gdy tablica jest konwertowana na ciąg.This example shows that a space is used to separate the values when an array is converted to a string. W takim przypadku tablica liczb całkowitych jest przechowywana w zmiennej, a następnie zmienna jest rzutowana jako ciąg.In this case, an array of integers is stored in a variable and then the variable is cast as a string.

$array = 1,2,3,4
[string]$array
1 2 3 4

Aby zmienić separator, Dodaj $OFS zmienną przez przypisanie do niej wartości.To change the separator, add the $OFS variable by assigning a value to it. Zmienna musi mieć nazwę $OFS .The variable must be named $OFS.

$OFS = "+"
[string]$array
1+2+3+4

Aby przywrócić zachowanie domyślne, można przypisać spację ( " " ) do wartości $OFS lub usunąć zmienną.To restore the default behavior, you can assign a space (" ") to the value of $OFS or delete the variable. Następujące polecenia powodują usunięcie zmiennej, a następnie sprawdź, czy separator jest spacją.The following commands delete the variable and then verify that the separator is a space.

Remove-Variable OFS
[string]$array
1 2 3 4

$OutputEncoding$OutputEncoding

Określa metodę kodowania znaków używaną przez program PowerShell podczas wysyłania tekstu do innych aplikacji.Determines the character encoding method that PowerShell uses when it sends text to other applications.

Na przykład jeśli aplikacja zwraca ciągi Unicode do programu PowerShell, może zajść potrzeba zmiany wartości parametru UnicodeEncoding w celu poprawnego wysłania znaków.For example, if an application returns Unicode strings to PowerShell, you might need to change the value to UnicodeEncoding to send the characters correctly.

Prawidłowe wartości są następujące: obiekty pochodzące z klasy kodowania, takie jak ASCIIEncoding , SBCSCodePageEncoding , UTF7Encoding , UTF8Encoding , UTF32Encoding i UnicodeEncoding.The valid values are as follows: Objects derived from an Encoding class, such as ASCIIEncoding , SBCSCodePageEncoding , UTF7Encoding , UTF8Encoding , UTF32Encoding , and UnicodeEncoding.

Default : obiekt UTF8Encoding (System. Text. UTF8Encoding)Default : UTF8Encoding object (System.Text.UTF8Encoding)

PrzykładyExamples

W tym przykładzie pokazano, jak udostępnić polecenie systemu Windows findstr.exe w programie PowerShell na komputerze, który jest zlokalizowany dla języka, który używa znaków Unicode, takich jak chiński.This example shows how to make the Windows findstr.exe command work in PowerShell on a computer that is localized for a language that uses Unicode characters, such as Chinese.

Pierwsze polecenie odnajduje wartość $OutputEncoding .The first command finds the value of $OutputEncoding. Ponieważ wartość jest obiektem Encoding, wyświetla tylko jego właściwość EncodingName .Because the value is an encoding object, display only its EncodingName property.

$OutputEncoding.EncodingName

W tym przykładzie polecenie findstr.exe służy do wyszukiwania dwóch znaków chińskich, które znajdują się w Test.txt pliku.In this example, a findstr.exe command is used to search for two Chinese characters that are present in the Test.txt file. Gdy to polecenie findstr.exe zostanie uruchomione w wierszu polecenia systemu Windows ( cmd.exe ), findstr.exe odnajdzie znaki w pliku tekstowym.When this findstr.exe command is run in the Windows Command Prompt ( cmd.exe ), findstr.exe finds the characters in the text file. Jednak po uruchomieniu tego samego polecenia findstr.exe w programie PowerShell nie można znaleźć znaków, ponieważ program PowerShell wysyła je do findstr.exe w tekście ASCII zamiast w tekście Unicode.However, when you run the same findstr.exe command in PowerShell, the characters aren't found because the PowerShell sends them to findstr.exe in ASCII text, instead of in Unicode text.

findstr <Unicode-characters>

Aby polecenie działało w programie PowerShell, należy ustawić wartość $OutputEncoding właściwości OutputEncoding konsoli, która jest oparta na ustawieniach regionalnych wybranych dla systemu Windows.To make the command work in PowerShell, set the value of $OutputEncoding to the value of the OutputEncoding property of the console, that is based on the locale selected for Windows. Ponieważ OutputEncoding jest właściwością statyczną konsoli programu, należy użyć dwukropka ( :: ) w poleceniu.Because OutputEncoding is a static property of the console, use double-colons (::) in the command.

$OutputEncoding = [console]::OutputEncoding
$OutputEncoding.EncodingName
OEM United States

Po zmianie kodowania polecenie findstr.exe odnajdzie znaki Unicode.After the encoding change, the findstr.exe command finds the Unicode characters.

findstr <Unicode-characters>
test.txt:         <Unicode-characters>

$ProgressPreference$ProgressPreference

Określa, w jaki sposób program PowerShell reaguje na aktualizacje postępu generowane przez skrypt, polecenie cmdlet lub dostawcę, takie jak paski postępu generowane przez polecenie cmdlet Write-Progress .Determines how PowerShell responds to progress updates generated by a script, cmdlet, or provider, such as the progress bars generated by the Write-Progress cmdlet. Write-ProgressPolecenie cmdlet tworzy paski postępu, które pokazują stan polecenia.The Write-Progress cmdlet creates progress bars that show a command's status.

Prawidłowe wartości są następujące:The valid values are as follows:

  • Stop : nie wyświetla paska postępu.Stop : Doesn't display the progress bar. Zamiast tego wyświetla komunikat o błędzie i kończy wykonywanie.Instead, it displays an error message and stops executing.
  • Zapytanie : nie wyświetla paska postępu.Inquire : Doesn't display the progress bar. Pojawia się prośba o zezwolenie na kontynuowanie.Prompts for permission to continue. W przypadku odpowiedzi z Y lub A jest wyświetlany pasek postępu.If you reply with Y or A, it displays the progress bar.
  • Kontynuuj : (domyślnie) wyświetla pasek postępu i kontynuuje wykonywanie.Continue : (Default) Displays the progress bar and continues with execution.
  • SilentlyContinue : wykonuje polecenie, ale nie wyświetla paska postępu.SilentlyContinue : Executes the command, but doesn't display the progress bar.

$PSEmailServer$PSEmailServer

Określa domyślny serwer poczty e-mail używany do wysyłania wiadomości e-mail.Specifies the default e-mail server that is used to send email messages. Ta zmienna preferencji jest używana przez polecenia cmdlet służące do wysyłania wiadomości e-mail, takich jak polecenie cmdlet send-MailMessage .This preference variable is used by cmdlets that send email, such as the Send-MailMessage cmdlet.

$PSDefaultParameterValues$PSDefaultParameterValues

Określa wartości domyślne parametrów poleceń cmdlet i zaawansowanych funkcji.Specifies default values for the parameters of cmdlets and advanced functions. Wartość $PSDefaultParameterValues jest tablicą skrótów, w której klucz składa się z nazwy polecenia cmdlet i nazwy parametru oddzielone dwukropkiem ( : ).The value of $PSDefaultParameterValues is a hash table where the key consists of the cmdlet name and parameter name separated by a colon (:). Wartość to niestandardowa wartość domyślna określona przez użytkownika.The value is a custom default value that you specify.

$PSDefaultParameterValues wprowadzono w programie PowerShell 3,0.$PSDefaultParameterValues was introduced in PowerShell 3.0.

Aby uzyskać więcej informacji na temat tej zmiennej preferencji, zobacz about_Parameters_Default_Values.For more information about this preference variable, see about_Parameters_Default_Values.

$PSModuleAutoloadingPreference$PSModuleAutoloadingPreference

Włącza i wyłącza automatyczne importowanie modułów w sesji.Enables and disables automatic importing of modules in the session. Jest to wartość domyślna.All is the default. Bez względu na wartość zmiennej, można zaimportować moduł przy użyciu modułu Import-Module .Regardless of the variable's value, you can use Import-Module to import a module.

Prawidłowe wartości:Valid values are:

  • Wszystkie : moduły są importowane automatycznie przy pierwszym użyciu.All : Modules are imported automatically on first-use. Aby zaimportować moduł, Pobierz lub użyj dowolnego polecenia w module.To import a module, get or use any command in the module. Użyj na przykład nazwy Get-Command.For example, use Get-Command.
  • ModuleQualified : moduły są importowane automatycznie tylko wtedy, gdy użytkownik korzysta z kwalifikowanej do modułu nazwy polecenia w module.ModuleQualified : Modules are imported automatically only when a user uses the module-qualified name of a command in the module. Na przykład, jeśli typ użytkownika MyModule\MyCommand , program PowerShell importuje moduł modułu .For example, if the user types MyModule\MyCommand, PowerShell imports the MyModule module.
  • Brak : Automatyczne importowanie modułów jest wyłączone w sesji.None : Automatic importing of modules is disabled in the session. Aby zaimportować moduł, użyj Import-Module polecenia cmdlet.To import a module, use the Import-Module cmdlet.

Aby uzyskać więcej informacji na temat automatycznego importowania modułów, zobacz about_Modules.For more information about automatic importing of modules, see about_Modules.

$PSSessionApplicationName$PSSessionApplicationName

Określa domyślną nazwę aplikacji dla polecenia zdalnego, które korzysta z technologii usługi sieci Web do zarządzania (WS-Management).Specifies the default application name for a remote command that uses Web Services for Management (WS-Management) technology. Aby uzyskać więcej informacji, zobacz Informacje o Windows Remote Management.For more information, see About Windows Remote Management.

Domyślna nazwa aplikacji systemowej to WSMAN , ale można użyć tej zmiennej preferencji do zmiany ustawienia domyślnego.The system default application name is WSMAN, but you can use this preference variable to change the default.

Nazwa aplikacji jest ostatnim węzłem identyfikatora URI połączenia.The application name is the last node in a connection URI. Na przykład nazwa aplikacji w poniższym przykładowym identyfikatorze URI to WSMAN .For example, the application name in the following sample URI is WSMAN.

http://Server01:8080/WSMAN

Domyślna nazwa aplikacji jest używana, gdy polecenie zdalne nie określa identyfikatora URI połączenia lub nazwy aplikacji.The default application name is used when the remote command doesn't specify a connection URI or an application name.

Usługa WinRM używa nazwy aplikacji w celu wybrania odbiornika do obsługi żądania połączenia.The WinRM service uses the application name to select a listener to service the connection request. Wartość parametru powinna być zgodna z wartością właściwości URLPrefix odbiornika na komputerze zdalnym.The parameter's value should match the value of the URLPrefix property of a listener on the remote computer.

Aby zastąpić domyślny system i wartość tej zmiennej, a następnie wybrać inną nazwę aplikacji dla konkretnej sesji, należy użyć parametrów ConnectionURI lub ApplicationName poleceń cmdlet New-PSSession, Enter-PSSessionlub Invoke-Command .To override the system default and the value of this variable, and select a different application name for a particular session, use the ConnectionURI or ApplicationName parameters of the New-PSSession, Enter-PSSession, or Invoke-Command cmdlets.

$PSSessionApplicationNameZmienna preferencji jest ustawiana na komputerze lokalnym, ale określa odbiornik na komputerze zdalnym.The $PSSessionApplicationName preference variable is set on the local computer, but it specifies a listener on the remote computer. Jeśli określona nazwa aplikacji nie istnieje na komputerze zdalnym, polecenie ustanowienia sesji kończy się niepowodzeniem.If the application name that you specify doesn't exist on the remote computer, the command to establish the session fails.

$PSSessionConfigurationName$PSSessionConfigurationName

Określa domyślną konfigurację sesji używaną dla PSSessions utworzonych w bieżącej sesji.Specifies the default session configuration that is used for PSSessions created in the current session.

Ta zmienna preferencji jest ustawiana na komputerze lokalnym, ale określa konfigurację sesji, która znajduje się na komputerze zdalnym.This preference variable is set on the local computer, but it specifies a session configuration that's located on the remote computer.

Wartość $PSSessionConfigurationName zmiennej jest w pełni kwalifikowanym identyfikatorem URI zasobu.The value of the $PSSessionConfigurationName variable is a fully qualified resource URI.

Wartość domyślna http://schemas.microsoft.com/PowerShell/microsoft.PowerShell wskazuje na konfigurację sesji programu Microsoft. PowerShell na komputerze zdalnym.The default value http://schemas.microsoft.com/PowerShell/microsoft.PowerShell indicates the Microsoft.PowerShell session configuration on the remote computer.

Jeśli określisz tylko nazwę konfiguracji, zostanie poprzedzony następujący identyfikator URI schematu:If you specify only a configuration name, the following schema URI is prepended:

http://schemas.microsoft.com/PowerShell/

Można zastąpić wartość domyślną i wybrać inną konfigurację sesji dla określonej sesji przy użyciu parametru ConfigurationName New-PSSession Enter-PSSession Invoke-Command poleceń cmdlet, lub.You can override the default and select a different session configuration for a particular session by using the ConfigurationName parameter of the New-PSSession, Enter-PSSession, or Invoke-Command cmdlets.

Wartość tej zmiennej można zmienić w dowolnym momencie.You can change the value of this variable at any time. W takim przypadku należy pamiętać, że wybrana konfiguracja sesji musi istnieć na komputerze zdalnym.When you do, remember that the session configuration that you select must exist on the remote computer. Jeśli nie, polecenie utworzenia sesji, która używa konfiguracji sesji kończy się niepowodzeniem.If it doesn't, the command to create a session that uses the session configuration fails.

Ta zmienna preferencji nie określa, które konfiguracje sesji lokalnej są używane, gdy użytkownicy zdalni tworzą sesję, która nawiązuje połączenie z tym komputerem.This preference variable doesn't determine which local session configurations are used when remote users create a session that connects to this computer. Można jednak użyć uprawnień do konfiguracji sesji lokalnej, aby określić, którzy użytkownicy mogą ich używać.However, you can use the permissions for the local session configurations to determine which users may use them.

$PSSessionOption$PSSessionOption

Ustanawia wartości domyślne dla zaawansowanych opcji użytkownika w sesji zdalnej.Establishes the default values for advanced user options in a remote session. Te preferencje opcji zastępują domyślne wartości systemowe dla opcji sesji.These option preferences override the system default values for session options.

$PSSessionOptionZmienna zawiera obiekt PSSessionOption .The $PSSessionOption variable contains a PSSessionOption object. Aby uzyskać więcej informacji, zobacz System. Management. Automation. Komunikacja zdalna. PSSessionOption.For more information, see System.Management.Automation.Remoting.PSSessionOption. Każda właściwość obiektu reprezentuje opcję sesji.Each property of the object represents a session option. Na przykład właściwość nocompression włącza kompresję danych podczas sesji.For example, the NoCompression property turns of data compression during the session.

Domyślnie $PSSessionOption zmienna zawiera obiekt PSSessionOption z wartościami domyślnymi dla wszystkich opcji, jak pokazano poniżej.By default, the $PSSessionOption variable contains a PSSessionOption object with the default values for all options, as shown below.

MaximumConnectionRedirectionCount : 5
NoCompression                     : False
NoMachineProfile                  : False
ProxyAccessType                   : None
ProxyAuthentication               : Negotiate
ProxyCredential                   :
SkipCACheck                       : False
SkipCNCheck                       : False
SkipRevocationCheck               : False
OperationTimeout                  : 00:03:00
NoEncryption                      : False
UseUTF16                          : False
IncludePortInSPN                  : False
OutputBufferingMode               : None
Culture                           :
UICulture                         :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize         : 209715200
ApplicationArguments              :
OpenTimeout                       : 00:03:00
CancelTimeout                     : 00:01:00
IdleTimeout                       : -00:00:00.0010000

Opisy tych opcji i więcej informacji można znaleźć w temacie New-PSSessionOption.For descriptions of these options and more information, see New-PSSessionOption. Aby uzyskać więcej informacji na temat zdalnych poleceń i sesji, zobacz about_Remote i about_PSSessions.For more information about remote commands and sessions, see about_Remote and about_PSSessions.

Aby zmienić wartość $PSSessionOption zmiennej preferencji, użyj New-PSSessionOption polecenia cmdlet, aby utworzyć obiekt PSSessionOption z wartościami opcji, które wolisz.To change the value of the $PSSessionOption preference variable, use the New-PSSessionOption cmdlet to create a PSSessionOption object with the option values you prefer. Zapisz dane wyjściowe w zmiennej o nazwie $PSSessionOption .Save the output in a variable called $PSSessionOption.

$PSSessionOption = New-PSSessionOption -NoCompression

Aby użyć $PSSessionOption zmiennej preferencji w każdej sesji programu PowerShell, Dodaj New-PSSessionOption polecenie, które tworzy $PSSessionOption zmienną dla profilu programu PowerShell.To use the $PSSessionOption preference variable in every PowerShell session, add a New-PSSessionOption command that creates the $PSSessionOption variable to your PowerShell profile. Aby uzyskać więcej informacji, zobacz about_Profiles.For more information, see about_Profiles.

Można ustawić opcje niestandardowe dla konkretnej sesji zdalnej.You can set custom options for a particular remote session. Ustawione opcje mają pierwszeństwo przed ustawieniami domyślnymi systemu i wartością $PSSessionOption zmiennej preferencji.The options that you set take precedence over the system defaults and the value of the $PSSessionOption preference variable.

Aby ustawić opcje sesji niestandardowej, użyj New-PSSessionOption polecenia cmdlet, aby utworzyć obiekt PSSessionOption .To set custom session options, use the New-PSSessionOption cmdlet to create a PSSessionOption object. Następnie użyj obiektu PSSessionOption jako wartości parametru SessionOption w poleceniach cmdlet, które tworzą sesję, taką jak New-PSSession , Enter-PSSession , i Invoke-Command .Then, use the PSSessionOption object as the value of the SessionOption parameter in cmdlets that create a session, such as New-PSSession, Enter-PSSession, and Invoke-Command.

$Transcript$Transcript

Używane przez Start-Transcript do określenia nazwy i lokalizacji pliku transkrypcji.Used by Start-Transcript to specify the name and location of the transcript file. Jeśli wartość parametru Path nie zostanie określona, Start-Transcript używa ścieżki w wartości $Transcript zmiennej globalnej.If you do not specify a value for the Path parameter, Start-Transcript uses the path in the value of the $Transcript global variable. Jeśli ta zmienna nie została utworzona, program Start-Transcript przechowuje transkrypcje w $Home\My Documents katalogu jako \PowerShell_transcript.<time-stamp>.txt pliki.If you have not created this variable, Start-Transcript stores the transcripts in the $Home\My Documents directory as \PowerShell_transcript.<time-stamp>.txt files.

$VerbosePreference$VerbosePreference

Określa, w jaki sposób program PowerShell reaguje na pełne komunikaty generowane przez skrypt, polecenie cmdlet lub dostawcę, takie jak komunikaty generowane przez polecenie cmdlet Write-verbose .Determines how PowerShell responds to verbose messages generated by a script, cmdlet, or provider, such as the messages generated by the Write-Verbose cmdlet. Pełne komunikaty opisują akcje wykonywane w celu wykonania polecenia.Verbose messages describe the actions performed to execute a command.

Domyślnie komunikaty pełne nie są wyświetlane, ale można zmienić to zachowanie, zmieniając wartość parametru $VerbosePreference .By default, verbose messages aren't displayed, but you can change this behavior by changing the value of $VerbosePreference.

Do wyświetlania lub ukrywania pełnych komunikatów dla określonego polecenia służy polecenie cmdlet verbose Common.You can use the Verbose common parameter of a cmdlet to display or hide the verbose messages for a specific command. Aby uzyskać więcej informacji, zobacz about_CommonParameters.For more information, see about_CommonParameters.

Prawidłowe wartości są następujące:The valid values are as follows:

  • Zatrzymaj : wyświetla pełny komunikat i komunikat o błędzie, a następnie zatrzymuje wykonywanie.Stop : Displays the verbose message and an error message and then stops executing.
  • Zapytanie : wyświetla pełny komunikat, a następnie wyświetla monit z pytaniem, czy chcesz kontynuować.Inquire : Displays the verbose message and then displays a prompt that asks you whether you want to continue.
  • Kontynuuj : wyświetla pełny komunikat, a następnie kontynuuje wykonywanie.Continue : Displays the verbose message and then continues with execution.
  • SilentlyContinue : (domyślnie) nie wyświetla pełnego komunikatu.SilentlyContinue : (Default) Doesn't display the verbose message. Kontynuuje wykonywanie.Continues executing.

PrzykładyExamples

Te przykłady pokazują efekt różnych wartości $VerbosePreference i parametru verbose , aby zastąpić wartość preferencji.These examples show the effect of the different values of $VerbosePreference and the Verbose parameter to override the preference value.

Ten przykład pokazuje efekt wartości SilentlyContinue , która jest wartością domyślną.This example shows the effect of the SilentlyContinue value, that is the default. Polecenie używa parametru Message , ale nie zapisuje komunikatu w konsoli programu PowerShell.The command uses the Message parameter, but doesn't write a message to the PowerShell console.

Write-Verbose -Message "Verbose message test."

Gdy jest używany parametr verbose , komunikat jest zapisywana.When the Verbose parameter is used, the message is written.

Write-Verbose -Message "Verbose message test." -Verbose
VERBOSE: Verbose message test.

Ten przykład pokazuje efekt wartości Kontynuuj .This example shows the effect of the Continue value. $VerbosePreferenceZmienna jest ustawiona na Kontynuuj i zostanie wyświetlony komunikat.The $VerbosePreference variable is set to Continue and the message is displayed.

$VerbosePreference = "Continue"
Write-Verbose -Message "Verbose message test."
VERBOSE: Verbose message test.

W tym przykładzie używa parametru verbose z wartością $false , która zastępuje wartość Kontynuuj .This example uses the Verbose parameter with a value of $false that overrides the Continue value. Komunikat nie jest wyświetlany.The message isn't displayed.

Write-Verbose -Message "Verbose message test." -Verbose:$false

Ten przykład pokazuje efekt wartości zatrzymania .This example shows the effect of the Stop value. $VerbosePreferenceZmienna jest ustawiona na wartość stop i zostanie wyświetlony komunikat.The $VerbosePreference variable is set to Stop and the message is displayed. Polecenie zostało zatrzymane.The command is stopped.

$VerbosePreference = "Stop"
Write-Verbose -Message "Verbose message test."
VERBOSE: Verbose message test.
Write-Verbose : The running command stopped because the preference variable
  "VerbosePreference" or common parameter is set to Stop: Verbose message test.
At line:1 char:1
+ Write-Verbose -Message "Verbose message test."

W tym przykładzie używa parametru verbose z wartością $false , która zastępuje wartość stop .This example uses the Verbose parameter with a value of $false that overrides the Stop value. Komunikat nie jest wyświetlany.The message isn't displayed.

Write-Verbose -Message "Verbose message test." -Verbose:$false

Ten przykład pokazuje efekt wartości zapytania .This example shows the effect of the Inquire value. $VerbosePreferenceZmienna jest ustawiona na zapytanie.The $VerbosePreference variable is set to Inquire. Komunikat zostanie wyświetlony, a użytkownik zostanie poproszony o potwierdzenie.The message is displayed and the user is prompted for confirmation.

$VerbosePreference = "Inquire"
Write-Verbose -Message "Verbose message test."
VERBOSE: Verbose message test.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):

W tym przykładzie używa parametru verbose z wartością $false , która zastępuje wartość zapytania .This example uses the Verbose parameter with a value of $false that overrides the Inquire value. Użytkownik nie jest monitowany i komunikat nie jest wyświetlany.The user isn't prompted and the message isn't displayed.

Write-Verbose -Message "Verbose message test." -Verbose:$false

$WarningPreference$WarningPreference

Określa, w jaki sposób program PowerShell reaguje na komunikaty ostrzegawcze generowane przez skrypt, polecenie cmdlet lub dostawcę, takie jak komunikaty generowane przez polecenie cmdlet Write-Warning .Determines how PowerShell responds to warning messages generated by a script, cmdlet, or provider, such as the messages generated by the Write-Warning cmdlet.

Domyślnie wyświetlane są komunikaty ostrzegawcze i wykonywanie jest kontynuowane, ale można zmienić to zachowanie, zmieniając wartość parametru $WarningPreference .By default, warning messages are displayed and execution continues, but you can change this behavior by changing the value of $WarningPreference.

Aby określić, w jaki sposób program PowerShell reaguje na ostrzeżenia z określonego polecenia, można użyć wspólnego parametru WarningAction polecenia cmdlet.You can use the WarningAction common parameter of a cmdlet to determine how PowerShell responds to warnings from a particular command. Aby uzyskać więcej informacji, zobacz about_CommonParameters.For more information, see about_CommonParameters.

Prawidłowe wartości są następujące:The valid values are as follows:

  • Zatrzymaj : wyświetla komunikat ostrzegawczy i komunikat o błędzie, a następnie zatrzymuje wykonywanie.Stop : Displays the warning message and an error message and then stops executing.
  • Zapytanie : wyświetla komunikat ostrzegawczy, a następnie monituje o zezwolenie na kontynuowanie.Inquire : Displays the warning message and then prompts for permission to continue.
  • Kontynuuj : (domyślnie) wyświetla komunikat ostrzegawczy, a następnie kontynuuje wykonywanie.Continue : (Default) Displays the warning message and then continues executing.
  • SilentlyContinue : nie wyświetla komunikatu ostrzegawczego.SilentlyContinue : Doesn't display the warning message. Kontynuuje wykonywanie.Continues executing.

PrzykładyExamples

Te przykłady pokazują efekt różnych wartości $WarningPreference .These examples show the effect of the different values of $WarningPreference. Parametr WarningAction zastępuje wartość preferencji.The WarningAction parameter overrides the preference value.

Ten przykład pokazuje efekt wartości domyślnej, Kontynuuj.This example shows the effect of the default value, Continue.

$m = "This action can delete data."
Write-Warning -Message $m
WARNING: This action can delete data.

W tym przykładzie zastosowano parametr WarningAction z wartością SilentlyContinue , aby pominąć ostrzeżenie.This example uses the WarningAction parameter with the value SilentlyContinue to suppress the warning. Komunikat nie jest wyświetlany.The message isn't displayed.

$m = "This action can delete data."
Write-Warning -Message $m -WarningAction SilentlyContinue

Ten przykład zmienia $WarningPreference zmienną na wartość SilentlyContinue .This example changes the $WarningPreference variable to the SilentlyContinue value. Komunikat nie jest wyświetlany.The message isn't displayed.

$WarningPreference = "SilentlyContinue"
$m = "This action can delete data."
Write-Warning -Message $m

Ten przykład używa parametru WarningAction , aby zatrzymać, gdy zostanie wygenerowane ostrzeżenie.This example uses the WarningAction parameter to stop when a warning is generated.

$m = "This action can delete data."
Write-Warning -Message $m -WarningAction Stop
WARNING: This action can delete data.
Write-Warning : The running command stopped because the preference variable
  "WarningPreference" or common parameter is set to Stop:
    This action can delete data.
At line:1 char:1
+ Write-Warning -Message $m -WarningAction Stop

Ten przykład zmienia $WarningPreference zmienną na wartość zapytania .This example changes the $WarningPreference variable to the Inquire value. Użytkownik zostanie poproszony o potwierdzenie.The user is prompted for confirmation.

$WarningPreference = "Inquire"
$m = "This action can delete data."
Write-Warning -Message $m
WARNING: This action can delete data.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):

W tym przykładzie zastosowano parametr WarningAction z wartością SilentlyContinue.This example uses the WarningAction parameter with the value SilentlyContinue. Polecenie jest nadal wykonywane i nie jest wyświetlany żaden komunikat.The command continues to execute and no message is displayed.

$m = "This action can delete data."
Write-Warning -Message $m -WarningAction SilentlyContinue

Ten przykład zmienia $WarningPreference wartość na zatrzymaną.This example changes the $WarningPreference value to Stop.

$WarningPreference = "Stop"
$m = "This action can delete data."
Write-Warning -Message $m
WARNING: This action can delete data.
Write-Warning : The running command stopped because the preference variable
  "WarningPreference" or common parameter is set to Stop:
    This action can delete data.
At line:1 char:1
+ Write-Warning -Message $m

Ten przykład używa WarningAction z wartością zapytania .This example uses the WarningAction with the Inquire value. Użytkownik jest monitowany, gdy wystąpi ostrzeżenie.The user is prompted when a warning occurs.

$m = "This action can delete data."
Write-Warning -Message $m -WarningAction Inquire
WARNING: This action can delete data.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):

$WhatIfPreference$WhatIfPreference

Określa, czy element whatIf jest automatycznie włączany dla każdego polecenia, które je obsługuje.Determines whether WhatIf is automatically enabled for every command that supports it. Gdy jest włączona wartość whatIf , polecenie cmdlet raportuje oczekiwany efekt polecenia, ale nie wykonuje polecenia.When WhatIf is enabled, the cmdlet reports the expected effect of the command, but doesn't execute the command.

Prawidłowe wartości są następujące:The valid values are as follows:

  • False ( 0 , nie włączono): (wartość domyślna) whatIf nie jest automatycznie włączona.False ( 0 , not enabled): (Default) WhatIf isn't automatically enabled. Aby włączyć ją ręcznie, użyj parametru whatIf polecenia cmdlet.To enable it manually, use the cmdlet's WhatIf parameter.
  • True ( 1 , Enabled): whatIf jest automatycznie włączany dla każdego polecenia, które go obsługuje.True ( 1 , enabled): WhatIf is automatically enabled on any command that supports it. Użytkownicy mogą użyć parametru whatIf o wartości false , aby wyłączyć ją ręcznie, na przykład -WhatIf:$false .Users can use the WhatIf parameter with a value of False to disable it manually, such as -WhatIf:$false.

PrzykładyExamples

Te przykłady pokazują efekt różnych wartości $WhatIfPreference .These examples show the effect of the different values of $WhatIfPreference. Pokazują, jak użyć parametru whatIf , aby zastąpić wartość preferencji dla określonego polecenia.They show how to use the WhatIf parameter to override the preference value for a specific command.

Ten przykład pokazuje efekt $WhatIfPreference zmiennej ustawionej na wartość domyślną, Fałsz.This example shows the effect of the $WhatIfPreference variable set to the default value, False. Użyj Get-ChildItem , aby sprawdzić, czy plik istnieje.Use Get-ChildItem to verify that the file exists. Remove-Item Usuwa plik.Remove-Item deletes the file. Po usunięciu pliku można zweryfikować usunięcie przy użyciu Get-ChildItem .After the file is deleted, you can verify the deletion with Get-ChildItem.

Get-ChildItem -Path .\test.txt
Remove-Item -Path ./test.txt
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           9/13/2019    10:53             10 test.txt
Get-ChildItem -Path .\test.txt
Get-ChildItem : Cannot find path 'C:\Test\test.txt' because it does not exist.
At line:1 char:1
+ Get-ChildItem -File test.txt

Ten przykład pokazuje efekt użycia parametru whatIf , gdy wartość jest równa $WhatIfPreference false.This example shows the effect of using the WhatIf parameter when the value of $WhatIfPreference is False.

Sprawdź, czy plik istnieje.Verify that the file exists.

Get-ChildItem -Path .\test2.txt
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           2/28/2019    17:06             12 test2.txt

Użyj parametru whatIf , aby określić wynik próby usunięcia pliku.Use the WhatIf parameter to determine the result of attempting to delete the file.

Remove-Item -Path .\test2.txt -WhatIf
What if: Performing the operation "Remove File" on target "C:\Test\test2.txt".

Sprawdź, czy plik nie został usunięty.Verify that the file wasn't deleted.

Get-ChildItem -Path .\test2.txt
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           2/28/2019    17:06             12 test2.txt

Ten przykład pokazuje efekt dla $WhatIfPreference zmiennej ustawionej na wartość true.This example shows the effect of the $WhatIfPreference variable set to the value, True. Gdy używasz Remove-Item do usuwania pliku, zostanie wyświetlona ścieżka pliku, ale plik nie jest usuwany.When you use Remove-Item to delete a file, the file's path is displayed, but the file isn't deleted.

Spróbuj usunąć plik.Attempt to delete a file. Zostanie wyświetlony komunikat o tym, co się stanie Remove-Item , jeśli został uruchomiony, ale plik nie jest usuwany.A message is displayed about what would happen if Remove-Item was run, but the file isn't deleted.

$WhatIfPreference = "True"
Remove-Item -Path .\test2.txt
What if: Performing the operation "Remove File" on target "C:\Test\test2.txt".

Użyj Get-ChildItem , aby sprawdzić, czy plik nie został usunięty.Use Get-ChildItem to verify that the file wasn't deleted.

Get-ChildItem -Path .\test2.txt
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           2/28/2019    17:06             12 test2.txt

Ten przykład pokazuje, jak usunąć plik, gdy wartość $WhatIfPreference jest równa true.This example shows how to delete a file when the value of $WhatIfPreference is True. Używa parametru whatIf z wartością $false .It uses the WhatIf parameter with a value of $false. Użyj Get-ChildItem , aby sprawdzić, czy plik został usunięty.Use Get-ChildItem to verify the file was deleted.

Remove-Item -Path .\test2.txt -WhatIf:$false
Get-ChildItem -Path .\test2.txt
Get-ChildItem : Cannot find path 'C:\Test\test2.txt' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Path .\test2.txt

Poniżej przedstawiono przykłady Get-Process poleceń cmdlet, które nie obsługują wartości whatIf i Stop-Process obsługujące whatIf.The following are examples of the Get-Process cmdlet that doesn't support WhatIf and Stop-Process that does support WhatIf. $WhatIfPreferenceZmienna ma wartość true.The $WhatIfPreference variable's value is True.

Get-Process nie obsługuje whatIf.Get-Process doesn't support WhatIf. Po wykonaniu polecenia zostanie wyświetlony plik Winword .When the command is executed, it displays the Winword process.

Get-Process -Name Winword
 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
    130   119.84     173.38       8.39   15024   4 WINWORD

Stop-Process obsługuje whatIf.Stop-Process does support WhatIf. Proces Winword nie jest zatrzymany.The Winword process isn't stopped.

Stop-Process -Name Winword
What if: Performing the operation "Stop-Process" on target "WINWORD (15024)".

Zachowanie whatIf można zastąpić przy Stop-Process WhatIf użyciu parametru whatIf o wartości $false .You can override the Stop-Process WhatIf behavior by using the WhatIf parameter with a value of $false. Proces Winword został zatrzymany.The Winword process is stopped.

Stop-Process -Name Winword -WhatIf:$false

Aby sprawdzić, czy proces Winword został zatrzymany, użyj Get-Process .To verify that the Winword process was stopped, use Get-Process.

Get-Process -Name Winword
Get-Process : Cannot find a process with the name "Winword".
  Verify the process name and call the cmdlet again.
At line:1 char:1
+ Get-Process -Name Winword

Zobacz teżSee also

about_Automatic_Variablesabout_Automatic_Variables

about_CommonParametersabout_CommonParameters

about_Environment_Variablesabout_Environment_Variables

about_Profilesabout_Profiles

about_Remoteabout_Remote

about_Scopesabout_Scopes

about_Variablesabout_Variables