about_Preference_Variables

Kort beskrivning

Variabler som anpassar powershell-beteendet.

Lång beskrivning

PowerShell innehåller en uppsättning variabler som gör att du kan anpassa dess beteende. Dessa inställningsvariabler fungerar som alternativen i GUI-baserade system.

Inställningsvariablerna påverkar PowerShell-driftsmiljön och alla kommandon körs i miljön. I många fall har cmdletarna parametrar som du kan använda för att åsidosätta inställningsbeteendet för ett visst kommando.

I följande tabell visas inställningsvariablerna och deras standardvärden.

Variabel Standardvärde
$ConfirmPreference High
$DebugPreference SilentlyContinue
$ErrorActionPreference Continue
$ErrorView ConciseView
$FormatEnumerationLimit 4
$InformationPreference SilentlyContinue
$LogCommandHealthEvent $False (inte loggad)
$LogCommandLifecycleEvent $False (inte loggad)
$LogEngineHealthEvent $True (loggad)
$LogEngineLifecycleEvent $True (loggad)
$LogProviderLifecycleEvent $True (loggad)
$LogProviderHealthEvent $True (loggad)
$MaximumHistoryCount 4096
$OFS Blanksteg ( " " )
$OutputEncoding UTF8Encoding Objekt
$ProgressPreference Continue
$PSDefaultParameterValues @{} (tom hash-tabell)
$PSEmailServer $Null (ingen)
$PSModuleAutoLoadingPreference All
$PSSessionApplicationName 'wsman'
$PSSessionConfigurationName 'http://schemas.microsoft.com/powershell/Microsoft.PowerShell'
$PSSessionOption PSSessionOption Objekt
$Transcript $Null (ingen)
$VerbosePreference SilentlyContinue
$WarningPreference Continue
$WhatIfPreference $False

PowerShell innehåller följande miljövariabler som lagrar användarinställningar. Mer information om dessa miljövariabler finns i about_Environment_Variables.

  • env:PSExecutionPolicyPreference
  • $env:PSModulePath

Anteckning

Ändringar av inställningsvariabeln gäller endast i skript och funktioner om dessa skript eller funktioner har definierats i samma omfång som det omfång där inställningen användes. Mer information finns i about_Scopes.

Arbeta med inställningsvariabler

Det här dokumentet beskriver var och en av inställningsvariablerna.

Om du vill visa det aktuella värdet för en specifik inställningsvariabel skriver du variabelns namn. Följande kommando visar till exempel $ConfirmPreference variabelns värde.

 $ConfirmPreference
High

Om du vill ändra värdet för en variabel använder du en tilldelningssats. Följande instruktion ändrar till exempel $ConfirmPreference parameterns värde till Medel.

$ConfirmPreference = "Medium"

De värden som du anger är specifika för den aktuella PowerShell-sessionen. Om du vill göra variabler gällande i alla PowerShell-sessioner lägger du till dem i din PowerShell-profil. Mer information finns i about_Profiles.

Arbeta via en fjärrdator

När du kör kommandon på en fjärrdator omfattas fjärrkommandona endast av de inställningar som angetts i fjärrdatorns PowerShell-klient. När du till exempel kör ett fjärrkommando avgör värdet för fjärrdatorns variabel hur PowerShell svarar $DebugPreference på felsökningsmeddelanden.

Mer information om fjärrkommandon finns i about_Remote.

$ConfirmPreference

Avgör om PowerShell automatiskt uppmanar dig att bekräfta innan du kör en cmdlet eller funktion.

Variabeln $ConfirmPreference tar en av ConfirmImpact uppräkningsvärden: Hög, Medel, Låg eller Ingen.

Cmdlets och funktioner tilldelas en risk för Hög, Medel eller Låg. När värdet för variabeln är mindre än eller lika med den risk som tilldelats en cmdlet eller funktion, uppmanas du automatiskt av PowerShell att bekräfta innan du kör $ConfirmPreference cmdleten eller funktionen.

Om värdet för variabeln $ConfirmPreference är None (Ingen) frågar PowerShell dig aldrig automatiskt innan du kör en cmdlet eller funktion.

Om du vill ändra bekräftelsebeteendet för alla cmdlets och funktioner i sessionen ändrar $ConfirmPreference du variabelns värde.

Om du vill $ConfirmPreference åsidosätta för ett enda kommando använder du cmdleten eller funktionens Confirm-parameter. Om du vill begära bekräftelse använder du -Confirm . Om du vill förhindra bekräftelse använder du -Confirm:$false .

Giltiga värden för $ConfirmPreference :

  • Ingen: PowerShell frågar inte automatiskt. Om du vill begära bekräftelse av ett visst kommando använder du parametern Bekräfta för cmdleten eller funktionen.
  • Låg: PowerShell frågar efter bekräftelse innan du kör cmdlets eller funktioner med låg, medel eller hög risk.
  • Medel: PowerShell frågar efter bekräftelse innan du kör cmdlets eller funktioner med en medelhög eller hög risk.
  • Hög: PowerShell frågar efter bekräftelse innan du kör cmdlets eller funktioner med hög risk.

Detaljerad förklaring

PowerShell kan automatiskt uppmana dig att bekräfta innan du utför en åtgärd. Till exempel när cmdlet eller funktion avsevärt påverkar systemet för att ta bort data eller använda en stor mängd systemresurser.

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"):

Uppskattningen av risken är ett attribut för cmdleten eller funktionen som kallas för ConfirmImpact. Användare kan inte ändra det.

Cmdlets och funktioner som kan utgöra en risk för systemet har en Confirm-parameter som du kan använda för att begära eller ignorera bekräftelse för ett enda kommando.

Eftersom de flesta cmdlets och funktioner använder standardriskvärdet, ConfirmImpact, av Medium och standardvärdet är Hög, sker automatisk bekräftelse $ConfirmPreference sällan. Du kan dock aktivera automatisk bekräftelse genom att ändra värdet $ConfirmPreference för till Medel eller Låg.

Exempel

Det här exemplet visar effekten av $ConfirmPreference variabelns standardvärde, Hög. Värdet Hög bekräftar endast cmdlets och funktioner med hög risk. Eftersom de flesta cmdlets och funktioner är medelhög risk bekräftas de inte automatiskt Remove-Item och tar bort filen. Om -Confirm du lägger till i kommandot uppmanas användaren att bekräfta.

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

Använd -Confirm för att begära bekräftelse.

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"):

I följande exempel visas effekten av att ändra värdet för $ConfirmPreference till Medel. Eftersom de flesta cmdlets och funktioner är medelhög risk bekräftas de automatiskt. Om du vill ignorera bekräftelseupptarna för ett enda kommando använder du parametern Bekräfta med värdet $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

Avgör hur PowerShell svarar på felsökning av meddelanden som genereras av ett skript, en cmdlet eller en provider eller av ett Write-Debug kommando på kommandoraden.

Variabeln $DebugPreference tar en av ActionPreference uppräkningsvärden: SilentlyContinue, Stop, Continue, Inquire, Ignore, Suspend eller Break.

Vissa cmdlets visar felsökningsmeddelanden, som vanligtvis är tekniska meddelanden som utformats för programmerare och tekniker som arbetar med teknisk support. Som standard visas inte felsökningsmeddelanden, men du kan visa felsökningsmeddelanden genom att ändra värdet för $DebugPreference .

Du kan använda den vanliga parametern Felsökning för en cmdlet för att visa eller dölja felsökningsmeddelanden för ett visst kommando. Mer information finns i about_CommonParameters.

De giltiga värdena är följande:

  • Stoppa: Visar felsökningsmeddelandet och slutar att köras. Skriver ett fel till konsolen.
  • Fråga: Visar felsökningsmeddelandet och frågar om du vill fortsätta. När du lägger till den vanliga parametern Debug till ett kommando ändrar värdet för variabeln till Fråga när kommandot har konfigurerats för att $DebugPreference generera ett felsökningsmeddelande.
  • Fortsätt: Visar felsökningsmeddelandet och fortsätter med körningen.
  • SilentlyContinue:(Standard) Ingen effekt. Felsökningsmeddelandet visas inte och körningen fortsätter utan avbrott.

Exempel

I följande exempel visas effekten av att ändra värdena $DebugPreference för när ett kommando anges på Write-Debug kommandoraden. Ändringen påverkar alla felsökningsmeddelanden, inklusive meddelanden som genereras av cmdlets och skript. Exemplen visar parametern Debug, som visar eller döljer felsökningsmeddelanden relaterade till ett enda kommando.

Det här exemplet visar effekten av $DebugPreference variabelns standardvärde, SilentlyContinue. Som standard visas Write-Debug inte cmdletens felsökningsmeddelande och bearbetningen fortsätter. När parametern Debug används åsidosätts inställningen för ett enda kommando. Felsökningsmeddelandet visas.

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

Det här exemplet visar effekten av $DebugPreference med värdet Fortsätt. Felsökningsmeddelandet visas och kommandot fortsätter att bearbeta.

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

I det här exemplet används parametern Debug med värdet för $false för att utelämna meddelandet för ett enda kommando. Felsökningsmeddelandet visas inte.

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

Det här exemplet visar effekten av $DebugPreference att anges till värdet Stoppa. Felsökningsmeddelandet visas och kommandot stoppas.

$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"

I det här exemplet används parametern Debug med värdet för $false för att utelämna meddelandet för ett enda kommando. Felsökningsmeddelandet visas inte och bearbetningen stoppas inte.

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

Det här exemplet visar effekten av $DebugPreference att anges till värdet Förfrågan. Felsökningsmeddelandet visas och användaren uppmanas att bekräfta.

$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"):

I det här exemplet används parametern Debug med värdet för $false för att utelämna meddelandet för ett enda kommando. Felsökningsmeddelandet visas inte och bearbetningen fortsätter.

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

$ErrorActionPreference

Avgör hur PowerShell svarar på ett icke-avslutande fel, ett fel som inte stoppar cmdlet-bearbetningen. Till exempel på kommandoraden eller i ett skript, cmdlet eller provider, till exempel fel som genereras av Write-Error cmdleten .

Variabeln $ErrorActionPreference tar en av ActionPreference uppräkningsvärden: SilentlyContinue, Stop, Continue, Inquire, Ignore, Suspend eller Break.

Du kan använda en cmdlet:s vanliga ErrorAction-parameter för att åsidosätta inställningen för ett visst kommando.

De giltiga värdena är följande:

  • Bryt ned – Ange felsökningsprogrammet när ett fel inträffar eller när ett undantag utlöses.
  • Fortsätt:(Standard) Visar felmeddelandet och fortsätter att köras.
  • Ignorera: Ignorerar felmeddelandet och fortsätter att köra kommandot. Värdet Ignorera är avsett för användning per kommando, inte för användning som sparade inställningar. Ignore är inte ett giltigt värde för $ErrorActionPreference variabeln.
  • Fråga: Visar felmeddelandet och frågar om du vill fortsätta.
  • SilentlyContinue: Ingen effekt. Felmeddelandet visas inte och körningen fortsätter utan avbrott.
  • Stoppa: Visar felmeddelandet och slutar att köra. Förutom det fel som genereras genererar stoppvärdet ett ActionPreferenceStopException-objekt till felströmmen. streama
  • Pausa: Pausar automatiskt ett arbetsflödesjobb för att möjliggöra ytterligare undersökning. Efter undersökningen kan arbetsflödet återupptas. Värdet Pausa är avsett för användning per kommando, inte för användning som sparade inställningar. Paus är inte ett giltigt värde för $ErrorActionPreference variabeln.

$ErrorActionPreference och errorAction-parametern påverkar inte hur PowerShell svarar på avslutande fel som stoppar cmdlet-bearbetningen. Mer information om den vanliga ErrorAction-parametern finns i about_CommonParameters.

Exempel

De här exemplen visar effekten av de olika värdena i $ErrorActionPreference variabeln. Parametern ErrorAction används för att åsidosätta $ErrorActionPreference värdet.

Det här exemplet visar $ErrorActionPreference standardvärdet Fortsätt. Ett icke-avslutande fel genereras. Meddelandet visas och bearbetningen fortsätter.

# 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

Det här exemplet visar $ErrorActionPreference standardvärdet, Fråga. Ett fel genereras och en uppmaning om åtgärd visas.

# 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"):

Det här exemplet visar $ErrorActionPreference uppsättningen till SilentlyContinue. Felmeddelandet ignoreras.

# 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

Det här exemplet visar $ErrorActionPreference att har angetts till Stoppa. Den visar även det extra -objekt som genererats för $Error variabeln.

# 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

Avgör visningsformatet för felmeddelanden i PowerShell.

Variabeln $ErrorView tar ett av ErrorView uppräkningsvärdena: NormalView, CategoryView eller ConciseView.

De giltiga värdena är följande:

  • ConciseView:(Standard) Ger ett koncist felmeddelande och en omstrukturerad vy för avancerade modulbyggare. Om felet kommer från kommandoraden är det ett felmeddelande med en rad. Annars får du ett felmeddelande med flera linjer som innehåller felet och en pekare till felet som visar var det inträffar på den raden. Om terminalen stöder virtuell terminal används ANSI-färgkoder för att ange färg accent. Accentfärgen kan ändras på $Host.PrivateData.ErrorAccentColor . Använd Get-Error cmdleten för en omfattande detaljerad vy över det fullständigt kvalificerade felet, inklusive inre undantag.

    ConciseView lades till i PowerShell 7.

  • NormalView: En detaljerad vy utformad för de flesta användare. Består av en beskrivning av felet och namnet på objektet som ingår i felet.

  • CategoryView: En kortfattad, strukturerad vy utformad för produktionsmiljöer. Formatet är följande:

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

Mer information om fälten i CategoryView finns i klassen ErrorCategoryInfo.

Exempel

Det här exemplet visar hur ett fel visas när värdet för $ErrorView är standardvärdet, ConciseView. Get-ChildItem används för att hitta en katalog som inte finns.

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

Det här exemplet visar hur ett fel visas när värdet för $ErrorView är standardvärdet, ConciseView. Script.ps1 körs och kastar ett fel från Get-Item -instruktionen.

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

Det här exemplet visar hur ett fel visas när värdet $ErrorView för ändras till NormalView. Get-ChildItem används för att hitta en fil som inte finns.

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

Det här exemplet visar hur samma fel visas när värdet för $ErrorView ändras till CategoryView.

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

Det här exemplet visar att värdet för $ErrorView endast påverkar felvisningen. Den ändrar inte strukturen för felobjektet som lagras i den $Error automatiska variabeln. Information om den automatiska $Error variabeln finns i about_automatic_variables.

Följande kommando tar ErrorRecord-objektet som är associerat med det senaste felet i felmatrisen, element 0, och formaterar alla felobjekts egenskaper i en lista.

$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

Anger hur många uppräknade objekt som ingår i en visning. Den här variabeln påverkar inte de underliggande objekten, utan bara visningen. När värdet för är mindre än antalet uppräknade objekt lägger PowerShell till en $FormatEnumerationLimit ellips ( ) för att indikera att objekt inte ... visas.

Giltiga värden: Heltal ( Int32 )

Standardvärde: 4

Exempel

Det här exemplet visar hur du $FormatEnumerationLimit använder variabeln för att förbättra visningen av uppräknade objekt.

Kommandot i det här exemplet genererar en tabell som visar alla tjänster som körs på datorn i två grupper: en för att köra tjänster och en för stoppade tjänster. Den använder ett -kommando för att hämta alla tjänster och skickar sedan resultaten via pipelinen till Get-Service cmdleten, som grupperar Group-Object resultaten efter tjänststatus.

Resultatet är en tabell som visar statusen i kolumnen Namn och processerna i kolumnen Grupp. Om du vill ändra kolumnetiketterna använder du en hash-tabell i about_Hash_Tables. Mer information finns i exemplen i Format-Table.

Hitta det aktuella värdet för $FormatEnumerationLimit .

$FormatEnumerationLimit
4

Visa en lista över alla tjänster grupperade efter Status. Det finns högst fyra tjänster i kolumnen Grupp för varje status eftersom har $FormatEnumerationLimit värdet 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...}

Öka antalet objekt som visas genom att öka värdet för $FormatEnumerationLimit till 1 000. Använd Get-Service och för att visa Group-Object tjänsterna.

$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...

Använd Format-Table med parametern Wrap för att visa listan över tjänster.

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

Med $InformationPreference variabeln kan du ange inställningar för informationsströmmar som du vill ska visas för användarna. Mer specifikt, informationsmeddelanden som du har lagt till i kommandon eller skript genom att lägga till cmdleten Write-Information. Om parametern InformationAction används åsidosätter dess värde variabelns $InformationPreference värde. Write-Information introducerades i PowerShell 5.0.

Variabeln $InformationPreference tar en av ActionPreference uppräkningsvärden: SilentlyContinue, Stop, Continue, Inquire, Ignore, Suspend eller Break.

De giltiga värdena är följande:

  • Stoppa: Stoppar ett kommando eller skript vid en förekomst av Write-Information kommandot .
  • Fråga: Visar det informationsmeddelande som du anger i ett Write-Information kommando och frågar sedan om du vill fortsätta.
  • Fortsätt: Visar informationsmeddelandet och fortsätter att köras.
  • Pausa är endast tillgängligt för arbetsflöden som inte stöds i PowerShell 6 och därefter.
  • SilentlyContinue:(Standard) Ingen effekt. Informationsmeddelandena visas inte och skriptet fortsätter utan avbrott.

$Log*Event

Log*Event-inställningsvariablerna avgör vilka typer av händelser som skrivs till PowerShell-händelseloggen i Loggboken. Som standard loggas endast motor- och providerhändelser. Men du kan använda log*Event-inställningsvariablerna för att anpassa loggen, till exempel logga händelser om kommandon.

Log*Event-inställningsvariablerna är följande:

  • $LogCommandHealthEvent: Loggar fel och undantag vid initiering och bearbetning av kommandon. Standardvärdet är $false (loggas inte).
  • $LogCommandLifecycleEvent: Loggar start och stopp av kommandon och kommandopipelines och säkerhetsundantag vid kommandoidentifiering. Standardvärdet är $false (loggas inte).
  • $LogEngineHealthEvent: Loggar fel och misslyckade sessioner. Standardvärdet är $true (loggat).
  • $LogEngineLifecycleEvent: Loggar öppning och stängning av sessioner. Standardvärdet är $true (loggat).
  • $LogProviderHealthEvent: Loggar providerfel, till exempel läs- och skrivfel, uppslagsfel och anropsfel. Standardvärdet är $true (loggat).
  • $LogProviderLifecycleEvent: Loggar som lägger till och tar bort PowerShell-providers. Standardvärdet är $true (loggat). Information om PowerShell-providers finns i about_Providers.

Om du vill aktivera en Log*Event skriver du variabeln med värdet $true , till exempel:

$LogCommandLifeCycleEvent = $true

Om du vill inaktivera en händelsetyp skriver du variabeln med värdet $false , till exempel:

$LogCommandLifeCycleEvent = $false

De händelser som du aktiverar gäller endast för den aktuella PowerShell-konsolen. Om du vill tillämpa konfigurationen på alla konsoler sparar du variabelinställningarna i din PowerShell-profil. Mer information finns i about_Profiles.

$MaximumHistoryCount

Anger hur många kommandon som sparas i kommandohistoriken för den aktuella sessionen.

Giltiga värden: 1–32768 ( Int32 )

Standard: 4096

Om du vill fastställa antalet kommandon som sparas i kommandohistoriken skriver du:

(Get-History).Count

Om du vill se kommandona som sparats i sessionshistoriken använder du Get-History cmdleten . Mer information finns i about_History.

$OFS

OFS (Output Field Separator) anger det tecken som avgränsar elementen i en matris som konverteras till en sträng.

Giltiga värden: Valfri sträng.

Standard: Blanksteg

Som standard finns inte variabeln och utdatafilavgränsaren är ett blanksteg, men du kan lägga till den här variabeln och $OFS ange den till valfri sträng. Du kan ändra värdet för $OFS i sessionen genom att skriva $OFS="<value>" .

Anteckning

Om du förväntar dig standardvärdet för ett blanksteg ( ) i utdata för skriptet, modulen eller konfigurationen bör du vara försiktig så att standardvärdet inte har ändrats någon annanstans i " " $OFS koden.

Exempel

Det här exemplet visar att ett blanksteg används för att separera värdena när en matris konverteras till en sträng. I det här fallet lagras en matris med heltal i en variabel och sedan får variabeln en sträng.

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

Om du vill ändra avgränsaren lägger du till $OFS variabeln genom att tilldela den ett värde. Variabeln måste ha namnet $OFS .

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

Om du vill återställa standardbeteendet kan du tilldela ett blanksteg ( " " ) till värdet för eller ta bort $OFS variabeln. Följande kommandon tar bort variabeln och kontrollerar sedan att avgränsaren är ett blanksteg.

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

$OutputEncoding

Anger teckenkodningsmetoden som PowerShell använder när den skickar text till andra program.

Om ett program till exempel returnerar Unicode-strängar till PowerShell kan du behöva ändra värdet till UnicodeEncoding för att skicka tecknen korrekt.

Giltiga värden är följande: Objekt som härleds från en Encoding-klass, till exempel ASCIIEncoding, UTF7Encoding, UTF8Encoding, UTF32Encodingoch UnicodeEncoding.

Standard: UTF8Encoding-objekt.

Exempel

Det här exemplet visar hur du Windows findstr.exe kommandot fungerar i PowerShell på en dator som är lokaliserad för ett språk som använder Unicode-tecken, till exempel kinesiska.

Det första kommandot hittar värdet $OutputEncoding för . Eftersom värdet är ett kodningsobjekt visar du bara dess EncodingName-egenskap.

$OutputEncoding.EncodingName

I det här exemplet findstr.exe ett kommando för att söka efter två kinesiska tecken som finns i Test.txt filen. När det findstr.exe här kommandot körs Windows kommandotolken (cmd.exe ) findstr.exehittar tecknen i textfilen. Men när du kör sammafindstr.exe-kommando i PowerShell hittas inte tecknen eftersom PowerShell skickar dem tillfindstr.exei ASCII-text, i stället för i Unicode-text.

findstr <Unicode-characters>

Om du vill att kommandot ska fungera i PowerShell anger du värdet för till värdet för egenskapen $OutputEncoding OutputEncoding för konsolen, som baseras på de språk som valts för Windows. Eftersom OutputEncoding är en statisk egenskap för -konsolen använder du double-colons ( :: ) i kommandot .

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

Efter kodningsändringen hittar findstr.exe Unicode-tecken.

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

$ProgressPreference

Avgör hur PowerShell svarar på förloppsuppdateringar som genereras av ett skript, en cmdlet eller en provider, till exempel förloppsstaplar som genereras av cmdleten Write-Progress. Write-ProgressCmdleten skapar förloppsfält som visar status för ett kommando.

Variabeln $ProgressPreference tar en av ActionPreference uppräkningsvärden: SilentlyContinue, Stop, Continue, Inquire, Ignore, Suspend eller Break.

De giltiga värdena är följande:

  • Stoppa: Visar inte förloppsfältet. I stället visas ett felmeddelande och körningen stoppas.
  • Fråga: Visar inte förloppsfältet. Frågar efter behörighet att fortsätta. Om du svarar Y med eller A visas förloppsfältet.
  • Fortsätt:(Standard) Visar förloppsfältet och fortsätter med körningen.
  • SilentlyContinue: Kör kommandot, men visar inte förloppsfältet.

$PSDefaultParameterValues

Anger standardvärden för parametrarna för cmdlets och avancerade funktioner. Värdet för är $PSDefaultParameterValues en hash-tabell där nyckeln består av cmdlet-namnet och parameternamnet avgränsade med ett kolon ( : ). Värdet är ett anpassat standardvärde som du anger.

$PSDefaultParameterValues introducerades i PowerShell 3.0.

Mer information om den här inställningsvariabeln finns i about_Parameters_Default_Values.

$PSEmailServer

Anger standard-e-postservern som används för att skicka e-postmeddelanden. Den här inställningsvariabeln används av cmdlets som skickar e-post, till exempel cmdleten Send-MailMessage.

$PSModuleAutoloadingPreference

Aktiverar och inaktiverar automatisk import av moduler i sessionen. Allt är standardinställningen. Oavsett variabelns värde kan du använda Import-Module för att importera en modul.

Variabeln $PSModuleAutoloadingPreference tar en av PSModuleAutoLoadingPreference uppräkningsvärden: Ingen, ModuleQualified eller Alla.

Giltiga värden är:

  • Alla: Moduler importeras automatiskt vid första användning. Om du vill importera en modul hämtar eller använder du ett kommando i modulen. Använd till exempel Get-Command.
  • ModuleQualified: Moduler importeras endast automatiskt när en användare använder det modulkvalificerade namnet på ett kommando i modulen. Om användaren till exempel skriver MyModule\MyCommand importerar PowerShell Modulen MyModule.
  • Ingen: Automatisk import av moduler inaktiveras i sessionen. Om du vill importera en modul använder du Import-Module cmdleten .

Mer information om automatisk import av moduler finns i about_Modules.

$PSSessionApplicationName

Anger standardprogramnamnet för ett fjärrkommando som använder WS-Management-teknik (Web Services for Management). Mer information finns i Om Windows Remote Management.

Systemets standardprogramnamn är WSMAN , men du kan använda den här inställningsvariabeln för att ändra standardvärdet.

Programnamnet är den sista noden i en anslutnings-URI. Programnamnet i följande exempel-URI är till exempel WSMAN .

http://Server01:8080/WSMAN

Standardprogramnamnet används när fjärrkommandot inte anger någon anslutnings-URI eller ett programnamn.

WinRM-tjänsten använder programnamnet för att välja en lyssnare för anslutningsbegäran. Parameterns värde ska matcha värdet för egenskapen URLPrefix för en lyssnare på fjärrdatorn.

Om du vill åsidosätta systemets standardvärde och värdet för den här variabeln och välja ett annat programnamn för en viss session använder du parametrarna ConnectionURI eller ApplicationName för cmdletarna New-PSSession, Enter-PSSessioneller Invoke-Command.

$PSSessionApplicationNameInställningsvariabeln anges på den lokala datorn, men den anger en lyssnare på fjärrdatorn. Om det programnamn som du anger inte finns på fjärrdatorn misslyckas kommandot för att upprätta sessionen.

$PSSessionConfigurationName

Anger standardsessionskonfigurationen som används för PSSessioner som skapats i den aktuella sessionen.

Den här inställningsvariabeln anges på den lokala datorn, men den anger en sessionskonfiguration som finns på fjärrdatorn.

Värdet för variabeln $PSSessionConfigurationName är en fullständigt kvalificerad resurs-URI.

Standardvärdet anger http://schemas.microsoft.com/PowerShell/microsoft.PowerShell microsoft.PowerShell-sessionskonfigurationen på fjärrdatorn.

Om du bara anger ett konfigurationsnamn kommer följande schema-URI att förberedas:

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

Du kan åsidosätta standardinställningen och välja en annan sessionskonfiguration för en viss session med hjälp av parametern ConfigurationName för New-PSSession Enter-PSSession Invoke-Command cmdletarna , eller .

Du kan ändra värdet för den här variabeln när som helst. Kom ihåg att den sessionskonfiguration som du väljer måste finnas på fjärrdatorn. Om den inte gör det misslyckas kommandot för att skapa en session som använder sessionskonfigurationen.

Den här inställningsvariabeln avgör inte vilka lokala sessionskonfigurationer som används när fjärranvändare skapar en session som ansluter till den här datorn. Du kan dock använda behörigheterna för de lokala sessionskonfigurationerna för att avgöra vilka användare som kan använda dem.

$PSSessionOption

Upprättar standardvärdena för avancerade användaralternativ i en fjärrsession. De här alternativinställningarna åsidosätter systemets standardvärden för sessionsalternativ.

Variabeln $PSSessionOption innehåller ett PSSessionOption-objekt. Mer information finns i System.Management.Automation.Remoting.PSSessionOption. Varje egenskap för objektet representerar ett sessionsalternativ. Till exempel aktiverar egenskapen NoCompression datakomprimering under sessionen.

Variabeln innehåller $PSSessionOption som standard ett PSSessionOption-objekt med standardvärdena för alla alternativ, enligt nedan.

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

Beskrivningar av dessa alternativ och mer information finns i New-PSSessionOption. Mer information om fjärrkommandon och sessioner finns i about_Remote och about_PSSessions.

Om du vill ändra värdet för inställningsvariabeln använder du cmdleten för att skapa ett $PSSessionOption New-PSSessionOption PSSessionOption-objekt med de alternativvärden som du föredrar. Spara utdata i en variabel med namnet $PSSessionOption .

$PSSessionOption = New-PSSessionOption -NoCompression

Om du vill $PSSessionOption använda inställningsvariabeln i varje PowerShell-session lägger du New-PSSessionOption till ett kommando som skapar $PSSessionOption variabeln i din PowerShell-profil. Mer information finns i about_Profiles.

Du kan ange anpassade alternativ för en viss fjärrsession. De alternativ som du anger har företräde framför systemets standardvärden och värdet för $PSSessionOption inställningsvariabeln.

Om du vill ange anpassade sessionsalternativ använder du New-PSSessionOption cmdleten för att skapa ett PSSessionOption-objekt. Använd sedan PSSessionOption-objektet som värde för parametern SessionOption i cmdlets som skapar en session, till exempel New-PSSession , och Enter-PSSession Invoke-Command .

$Transcript

Används av Start-Transcript för att ange namn och plats för avskriftsfilen. Om du inte anger något värde för parametern Path Start-Transcript använder sökvägen i värdet för den globala $Transcript variabeln. Om du inte har skapat den här Start-Transcript variabeln lagrar avskrifterna i $Home\My Documents katalogen som \PowerShell_transcript.<time-stamp>.txt filer.

$VerbosePreference

Avgör hur PowerShell svarar på utförliga meddelanden som genereras av ett skript, en cmdlet eller en provider, till exempel meddelanden som genereras av write-verbose-cmdleten. Utförliga meddelanden beskriver de åtgärder som utförs för att köra ett kommando.

Som standard visas inte utförliga meddelanden, men du kan ändra det här beteendet genom att ändra värdet för $VerbosePreference .

Variabeln $VerbosePreference tar en av ActionPreference uppräkningsvärden: SilentlyContinue, Stop, Continue, Inquire, Ignore, Suspend, or Break.

De giltiga värdena är följande:

  • Stoppa: Visar det utförliga meddelandet och ett felmeddelande och slutar sedan köras.
  • Fråga: Visar det utförliga meddelandet och visar sedan en kommandotolk som frågar om du vill fortsätta.
  • Fortsätt: Visar det utförliga meddelandet och fortsätter sedan med körningen.
  • SilentlyContinue:(Standard) Visar inte det utförliga meddelandet. Fortsätter att köras.

Du kan använda den utförliga gemensamma parametern för en cmdlet för att visa eller dölja utförliga meddelanden för ett visst kommando. Mer information finns i about_CommonParameters.

Exempel

De här exemplen visar effekten av de olika värdena för $VerbosePreference och den utförliga parametern för att åsidosätta inställningsvärdet.

Det här exemplet visar effekten av värdet SilentlyContinue, som är standardvärdet. Kommandot använder parametern Message men skriver inte ett meddelande till PowerShell-konsolen.

Write-Verbose -Message "Verbose message test."

När den utförliga parametern används skrivs meddelandet.

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

Det här exemplet visar effekten av värdet Fortsätt. Variabeln $VerbosePreference är inställd på Fortsätt och meddelandet visas.

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

I det här exemplet används den utförliga parametern med ett $false värde som åsidosätter värdet Fortsätt. Meddelandet visas inte.

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

Det här exemplet visar effekten av stoppvärdet. Variabeln $VerbosePreference är inställd på Stoppa och meddelandet visas. Kommandot har stoppats.

$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."

I det här exemplet används den utförliga parametern med ett $false värde för som åsidosätter stoppvärdet. Meddelandet visas inte.

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

Det här exemplet visar effekten av värdet Fråga. Variabeln $VerbosePreference är inställd på Fråga. Meddelandet visas och användaren uppmanas att bekräfta.

$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"):

I det här exemplet används den utförliga parametern med ett $false värde för som åsidosätter värdet Fråga. Användaren uppmanas inte och meddelandet visas inte.

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

$WarningPreference

Avgör hur PowerShell svarar på varningsmeddelanden som genereras av ett skript, en cmdlet eller en provider, till exempel meddelanden som genereras av cmdleten Write-Warning.

Som standard visas varningsmeddelanden och körningen fortsätter, men du kan ändra det här beteendet genom att ändra värdet för $WarningPreference .

Variabeln $WarningPreference tar en av ActionPreference uppräkningsvärden: SilentlyContinue, Stop, Continue, Inquire, Ignore, Suspend, or Break.

De giltiga värdena är följande:

  • Stoppa: Visar varningsmeddelandet och ett felmeddelande och slutar sedan att köras.
  • Fråga: Visar varningsmeddelandet och frågar sedan om behörighet att fortsätta.
  • Fortsätt:(Standard) Visar varningsmeddelandet och fortsätter sedan att köras.
  • SilentlyContinue: Visar inte varningsmeddelandet. Fortsätter att köras.

Du kan använda den vanliga WarningAction-parametern för en cmdlet för att avgöra hur PowerShell svarar på varningar från ett visst kommando. Mer information finns i about_CommonParameters.

Exempel

De här exemplen visar effekten av de olika värdena för $WarningPreference . Parametern WarningAction åsidosätter inställningsvärdet.

Det här exemplet visar effekten av standardvärdet Fortsätt.

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

I det här exemplet används parametern WarningAction med värdet SilentlyContinue för att förhindra varningen. Meddelandet visas inte.

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

Det här exemplet ändrar $WarningPreference variabeln till värdet SilentlyContinue. Meddelandet visas inte.

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

I det här exemplet används parametern WarningAction för att stoppa när en varning genereras.

$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

I det här exemplet $WarningPreference ändras variabeln till värdet Fråga. Användaren uppmanas att bekräfta.

$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"):

I det här exemplet används parametern WarningAction med värdet SilentlyContinue. Kommandot fortsätter att köras och inget meddelande visas.

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

I det här exemplet ändras $WarningPreference värdet till Stoppa.

$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

I det här exemplet används WarningAction med värdet Förfrågan. Användaren uppmanas när en varning inträffar.

$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

Avgör om WhatIf aktiveras automatiskt för varje kommando som stöder det. När WhatIf är aktiverat rapporterar cmdleten den förväntade effekten av kommandot, men kör inte kommandot.

De giltiga värdena är följande:

  • False (0, not enabled): (Default) WhatIf isn't automatically enabled. Om du vill aktivera det manuellt använder du cmdletens WhatIf-parameter.
  • True (1, aktiverat): WhatIf aktiveras automatiskt på alla kommandon som stöder det. Användare kan använda parametern WhatIf med värdet False för att inaktivera den manuellt, till exempel -WhatIf:$false .

Exempel

De här exemplen visar effekten av de olika värdena för $WhatIfPreference . De visar hur du använder parametern WhatIf för att åsidosätta inställningsvärdet för ett visst kommando.

Det här exemplet visar effekten av $WhatIfPreference variabeln inställd på standardvärdet False. Använd Get-ChildItem för att kontrollera att filen finns. Remove-Item tar bort filen. När filen har tagits bort kan du verifiera borttagningen med 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

Det här exemplet visar effekten av att använda parametern WhatIf när värdet för $WhatIfPreference är False.

Kontrollera att filen finns.

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

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

Använd parametern WhatIf för att fastställa resultatet av försök att ta bort filen.

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

Kontrollera att filen inte har tagits bort.

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

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

Det här exemplet visar effekten av $WhatIfPreference variabeln inställd på värdet True. När du Remove-Item använder för att ta bort en fil visas filens sökväg, men filen tas inte bort.

Försök att ta bort en fil. Ett meddelande visas om vad som skulle hända Remove-Item om körs, men filen tas inte bort.

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

Använd Get-ChildItem för att kontrollera att filen inte har tagits bort.

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

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

Det här exemplet visar hur du tar bort en fil när värdet $WhatIfPreference för är True. Den använder parametern WhatIf med värdet $false . Använd Get-ChildItem för att kontrollera att filen har tagits bort.

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

Följande är exempel på Get-Process cmdleten som inte stöder WhatIf och Stop-Process som stöder WhatIf. Variabelns $WhatIfPreference värde är True.

Get-Process stöder inte WhatIf. När kommandot körs visas Winword-processen.

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 stöder WhatIf. Winword-processen stoppas inte.

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

Du kan åsidosätta Stop-Process WhatIf-beteendet med hjälp av parametern WhatIf med värdet $false . Winword-processen stoppas.

Stop-Process -Name Winword -WhatIf:$false

Kontrollera att Winword-processen har stoppats med hjälp av 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

Se även

about_Automatic_Variables

about_CommonParameters

about_Environment_Variables

about_Profiles

about_Remote

about_Scopes

about_Variables