Megosztás a következőn keresztül:


about_Preference_Variables

Rövid leírás

A PowerShell viselkedését testre szabó változók.

Hosszú leírás

A PowerShell olyan változókat tartalmaz, amelyek lehetővé teszik a viselkedés testreszabását. Ezek a beállítási változók a GUI-alapú rendszerek beállításaihoz hasonlóan működnek.

A beállítási változók hatással vannak a PowerShell operációs környezetére, és az összes parancs a környezetben fut. A parancsmagok számos esetben olyan paraméterekkel rendelkeznek, amelyekkel felülbírálhatja egy adott parancs beállítási viselkedését.

Az alábbi táblázat a beállítási változókat és azok alapértelmezett értékeit sorolja fel.

Változó Alapértelmezett érték
$ConfirmPreference High
$DebugPreference SilentlyContinue
$ErrorActionPreference Continue
$ErrorView NormalView
$FormatEnumerationLimit 4
$InformationPreference SilentlyContinue
$LogCommandHealthEvent $False (nincs naplózva)
$LogCommandLifecycleEvent $False (nincs naplózva)
$LogEngineHealthEvent $True (naplózott)
$LogEngineLifecycleEvent $True (naplózott)
$LogProviderLifecycleEvent $True (naplózott)
$LogProviderHealthEvent $True (naplózott)
$MaximumAliasCount 4096
$MaximumDriveCount 4096
$MaximumErrorCount 256
$MaximumFunctionCount 4096
$MaximumHistoryCount 4096
$MaximumVariableCount 4096
$OFS Szóköz karakter (" ")
$OutputEncoding ASCIIEncoding tárgy
$ProgressPreference Continue
$PSDefaultParameterValues @{} (üres kivonattábla)
$PSEmailServer $Null (nincs)
$PSModuleAutoLoadingPreference All
$PSSessionApplicationName 'wsman'
$PSSessionConfigurationName 'http://schemas.microsoft.com/powershell/Microsoft.PowerShell'
$PSSessionOption PSSessionOption tárgy
$Transcript $Null (nincs)
$VerbosePreference SilentlyContinue
$WarningPreference Continue
$WhatIfPreference $False

A PowerShell a következő környezeti változókat tartalmazza, amelyek a felhasználói beállításokat tárolják. További információ ezekről a környezeti változókról: about_Environment_Variables.

  • $env:PSExecutionPolicyPreference
  • $env:PSModulePath

Feljegyzés

A beállítási változók módosítása csak az általuk végrehajtott hatókörre és azok gyermek hatókörére vonatkozik. Korlátozhatja például a beállításváltozó egyetlen függvényre vagy szkriptre való módosításának hatásait. További információ: about_Scopes.

Beállításváltozók használata

Ez a dokumentum az egyes beállítási változókat ismerteti.

Egy adott beállítási változó aktuális értékének megjelenítéséhez írja be a változó nevét. A következő parancs például a $ConfirmPreference változó értékét jeleníti meg.

 $ConfirmPreference
High

Egy változó értékének módosításához használjon hozzárendelési utasítást. Az alábbi utasítás például közepesre módosítja a $ConfirmPreference paraméter értékét.

$ConfirmPreference = "Medium"

A beállított értékek az aktuális PowerShell-munkamenetre vonatkoznak. Ha minden PowerShell-munkamenetben szeretné hatékonyan használni a változókat, vegye fel őket a PowerShell-profiljába. További információ: about_Profiles.

Távoli munkavégzés

Ha távoli számítógépen futtat parancsokat, a távoli parancsokra csak a távoli számítógép PowerShell-ügyfélén beállított beállítások vonatkoznak. Távoli parancs futtatásakor például a távoli számítógép változójának $DebugPreference értéke határozza meg, hogy a PowerShell hogyan reagál a hibakeresési üzenetekre.

További információ a távoli parancsokról: about_Remote.

$ConfirmPreference

Meghatározza, hogy a PowerShell automatikusan megerősítést kér-e a parancsmag vagy függvény futtatása előtt.

A $ConfirmPreference változó az ConfirmImpact enumerálási értékek egyikét veszi fel: Magas, Közepes, Alacsony vagy Nincs.

A parancsmagok és függvények magas, közepes vagy alacsony kockázattal vannak hozzárendelve. Ha a $ConfirmPreference változó értéke kisebb vagy egyenlő a parancsmaghoz vagy függvényhez rendelt kockázattal, a PowerShell automatikusan megerősítést kér a parancsmag vagy függvény futtatása előtt. A kockázat parancsmagokhoz vagy függvényekhez való hozzárendeléséről további információt a about_Functions_CmdletBindingAttribute című témakörben talál.

Ha a változó értéke Nincs, a $ConfirmPreference PowerShell soha nem kéri automatikusan a parancsmag vagy függvény futtatása előtt.

Ha módosítani szeretné a munkamenet összes parancsmagjának és függvényének megerősítési viselkedését, módosítsa $ConfirmPreference a változó értékét.

Egyetlen parancs felülbírálásához $ConfirmPreference használja egy parancsmag vagy függvény Confirm paraméterét. Ha megerősítést szeretne kérni, használja a következőt -Confirm: . A megerősítés letiltásához használja a következőt -Confirm:$false: .

A következő $ConfirmPreferenceérvényes értékei:

  • Nincs: A PowerShell nem kéri automatikusan. Egy adott parancs megerősítésének kéréséhez használja a parancsmag vagy függvény Megerősítés paraméterét.
  • Alacsony: A PowerShell megerősítést kér, mielőtt alacsony, közepes vagy magas kockázatú parancsmagokat vagy függvényeket futtat.
  • Közepes: A PowerShell megerősítést kér, mielőtt közepes vagy magas kockázatú parancsmagokat vagy függvényeket futtat.
  • Magas: A PowerShell megerősítést kér, mielőtt magas kockázatú parancsmagokat vagy függvényeket futtat.

Részletes magyarázat

A PowerShell automatikusan megerősítést kér a művelet végrehajtása előtt. Ha például a parancsmag vagy a függvény jelentősen befolyásolja a rendszert az adatok törlésére vagy jelentős mennyiségű rendszererőforrás használatára.

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

A kockázat becslése a confirmImpact néven ismert parancsmag vagy függvény attribútuma. A felhasználók nem módosíthatják.

Az olyan parancsmagok és függvények, amelyek kockázatot jelenthetnek a rendszer számára, rendelkeznek egy Confirm paraméterrel, amellyel egyetlen parancshoz kérhet vagy tilthat le megerősítést.

A legtöbb parancsmag és függvény megtartja a ConfirmImpact alapértelmezett Közepes értékét. $ConfirmPreferencealapértelmezés szerint Magas értékre van állítva. Ezért ritkán fordul elő, hogy a parancsok automatikusan megerősítést kérnek, ha a felhasználók nem adják meg a Megerősítés paramétert. Ha további parancsmagokra és függvényekre szeretné kiterjeszteni $ConfirmPreference az automatikus megerősítési kérést, állítsa közepes vagy alacsony értékre.

Példák

Ez a példa a változó alapértelmezett értékének , a Magas értéknek a $ConfirmPreference hatását mutatja. A Magas érték csak a magas kockázatú parancsmagokat és függvényeket erősíti meg. Mivel a legtöbb parancsmag és függvény közepes kockázattal jár, a rendszer nem erősíti meg automatikusan, és Remove-Item törli a fájlt. Ha hozzáadja -Confirm a parancssort, megerősítést kér a felhasználótól.

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

Megerősítés -Confirm kérése.

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  [S] Suspend
[?] Help (default is "Y"):

Az alábbi példa azt mutatja be, hogy milyen hatással van a közepes értékre $ConfirmPreference való váltás. Mivel a parancsmagok és a függvények többsége közepes kockázattal jár, a rendszer automatikusan megerősíti őket. Egyetlen parancs megerősítő kérésének letiltásához használja a Megerősítés paramétert a következő $falseértékkel: .

$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  [S] Suspend
[?] Help (default is "Y"):
Remove-Item -Path C:\temp3.txt -Confirm:$false

$DebugPreference

Meghatározza, hogy a PowerShell hogyan reagál a szkript, parancsmag vagy szolgáltató vagy parancssori parancs által Write-Debug létrehozott hibakeresési üzenetekre.

A $DebugPreference változó a ActionPreference következő enumerálási értékek egyikét veszi fel: SilentlyContinue, Stop, Continue, Inquire, Ignore, Suspend vagy Break.

Egyes parancsmagok hibakeresési üzeneteket jelenítenek meg, amelyek általában programozók és technikai támogatási szakemberek számára készült technikai üzenetek. Alapértelmezés szerint a hibakeresési üzenetek nem jelennek meg, de a hibakeresési üzeneteket az érték $DebugPreferencemódosításával jelenítheti meg.

A parancsmag gyakori hibakeresési paraméterével megjelenítheti vagy elrejtheti egy adott parancs hibakeresési üzenetét. További információ: about_CommonParameters.

Az érvényes értékek a következők:

  • Leállítás: Megjeleníti a hibakeresési üzenetet, és leállítja a végrehajtást. Hibát ír a konzolra.
  • Inquire: Megjeleníti a hibakeresési üzenetet, és megkérdezi, hogy folytatja-e.
  • Folytatás: Megjeleníti a hibakeresési üzenetet, és folytatja a végrehajtást.
  • SilentlyContinue: (Alapértelmezett) Nincs effektus. A hibakeresési üzenet nem jelenik meg, és a végrehajtás megszakítás nélkül folytatódik.

Ha hozzáadja a hibakeresési gyakori paramétert egy parancshoz, amikor a parancs hibakeresési üzenet létrehozására van konfigurálva, a változó értékét $DebugPreference Inquire értékre módosítja.

Példák

Az alábbi példák azt mutatják be, hogy milyen hatással van a parancsok parancssori beírásának $DebugPreference Write-Debug értékeire. A módosítás az összes hibakeresési üzenetet érinti, beleértve a parancsmagok és szkriptek által létrehozott üzeneteket is. A példák a Hibakeresés paramétert mutatják be, amely megjeleníti vagy elrejti az egyetlen parancshoz kapcsolódó hibakeresési üzeneteket.

Ez a példa a változó alapértelmezett értékének, a SilentlyContinue-nak a $DebugPreference hatását mutatja be. Alapértelmezés szerint a Write-Debug parancsmag hibakeresési üzenete nem jelenik meg, és a feldolgozás folytatódik. A hibakeresési paraméter használata felülírja az egyetlen parancs beállításait. A rendszer megerősítést kér a felhasználótól.

$DebugPreference
SilentlyContinue
Write-Debug -Message "Hello, World"
Write-Debug -Message "Hello, World" -Debug
DEBUG: Hello, World
Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend
[?] Help (default is "Y"):

Ez a példa a Folytatás érték hatását $DebugPreference mutatja be. Megjelenik a hibakeresési üzenet, és a parancs feldolgozása folytatódik.

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

Ez a példa a Hibakeresés paramétert használja egyetlen parancs üzenetének $false letiltásához. A hibakeresési üzenet nem jelenik meg.

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

Ez a példa a Stop értékre való beállítás hatását $DebugPreference mutatja be. Megjelenik a hibakeresési üzenet, és a parancs leáll.

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

Ez a példa a Hibakeresés paramétert használja egyetlen parancs üzenetének $false letiltásához. A hibakeresési üzenet nem jelenik meg, és a feldolgozás nem áll le.

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

Ez a példa az Inquire értékre való beállítás hatását $DebugPreference mutatja be. Megjelenik a hibakeresési üzenet, és a rendszer megerősítést kér a felhasználótól.

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

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

Ez a példa a Hibakeresés paramétert használja egyetlen parancs üzenetének $false letiltásához. A hibakeresési üzenet nem jelenik meg, és a feldolgozás folytatódik.

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

$ErrorActionPreference

Meghatározza, hogy a PowerShell hogyan reagál egy nem végződő hibára, amely nem állítja le a parancsmag feldolgozását. Például a parancssorban vagy egy szkriptben, parancsmagban vagy szolgáltatóban, például a parancsmag által Write-Error generált hibákban.

A $ErrorActionPreference változó a ActionPreference enumerálási értékek: SilentlyContinue, Stop, Continue, Inquire, Ignore vagy Suspend.

Egy parancsmag ErrorAction gyakori paraméterével felülbírálhatja egy adott parancs beállításait.

Az érvényes értékek a következők:

  • Folytatás: (Alapértelmezett) Megjeleníti a hibaüzenetet, és folytatja a végrehajtást.
  • Figyelmen kívül hagyás: Letiltja a hibaüzenetet, és továbbra is végrehajtja a parancsot. A Mellőzés érték parancsonkénti használatra szolgál, nem mentett beállításként való használatra. A figyelmen kívül hagyás nem érvényes érték a $ErrorActionPreference változóhoz.
  • Inquire: Megjeleníti a hibaüzenetet, és megkérdezi, hogy folytatja-e.
  • SilentlyContinue: Nincs effektus. A hibaüzenet nem jelenik meg, és a végrehajtás megszakítás nélkül folytatódik.
  • Leállítás: Megjeleníti a hibaüzenetet, és leállítja a végrehajtást. A létrehozott hiba mellett a Stop érték létrehoz egy ActionPreferenceStopException objektumot a hibastreamhez.
  • Felfüggesztés: Automatikusan felfüggeszt egy munkafolyamat-feladatot, hogy lehetővé tegye a további vizsgálatot. A vizsgálat után a munkafolyamat folytatható. A Felfüggesztés érték parancsonkénti használatra szolgál, nem mentett beállításként való használatra. A felfüggesztés nem érvényes érték a $ErrorActionPreference változóhoz.

$ErrorActionPreference és az ErrorAction paraméter nem befolyásolja, hogy a PowerShell hogyan reagál a parancsmag feldolgozását leállító hibák megszüntetésére. Az ErrorAction gyakori paraméterével kapcsolatos további információkért lásd: about_CommonParameters.

Példák

Ezek a példák a változó különböző értékeinek $ErrorActionPreference hatását mutatják be. Az ErrorAction paraméter az érték felülbírálására $ErrorActionPreference szolgál.

Ez a példa a $ErrorActionPreference Folytatás alapértelmezett értékét mutatja. Nem végződő hiba jön létre. Megjelenik az üzenet, és a feldolgozás folytatódik.

# 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 -Message  'Test Error' ; Write-Host 'Hello World' : Test Error
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException

Hello World

Ez a példa az $ErrorActionPreference inquire alapértelmezett értékét mutatja be. Hiba jön létre, és megjelenik egy műveletkérés.

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

Ebben a példában a $ErrorActionPreference SilentlyContinue érték van beállítva. A hibaüzenet el van tiltva.

# 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

Ebben a példában a $ErrorActionPreference Leállítás beállítás látható. A változóhoz $Error létrehozott extra objektumot is megjeleníti.

# Change the ErrorActionPreference to 'Stop'
$ErrorActionPreference = 'Stop'
# Error message 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 -Message 'Test Error' ; Write-Host 'Hello World' : Test Error
At line:1 char:1
+ Write-Error -Message 'Test Error' ; Write-Host 'Hello World'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException

The running command stopped because the preference variable "ErrorActionPreference"
or common parameter is set to Stop: Test Error

Write-Error -Message 'Test Error' ; Write-Host 'Hello World' : Test Error
At line:1 char:1
+ Write-Error -Message 'Test Error' ; Write-Host 'Hello World'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException

$ErrorView

Meghatározza a hibaüzenetek megjelenítési formátumát a PowerShellben.

A $ErrorView változó a ErrorView következő enumerálási értékek egyikét veszi fel: NormalView vagy CategoryView.

Az érvényes értékek a következők:

  • NormalView: A legtöbb felhasználó számára tervezett részletes nézet. A hiba leírását és a hibában érintett objektum nevét tartalmazza.

  • CategoryView: Az éles környezetekhez tervezett tömör, strukturált nézet. A formátum a következő:

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

A CategoryView mezőivel kapcsolatos további információkért lásd: ErrorCategoryInfo osztály.

Példák

Ez a példa bemutatja, hogyan jelenik meg egy hiba, ha az érték $ErrorView az alapértelmezett NormalView. Get-ChildItem nem létező fájl megkeresésére szolgál.

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

Ez a példa azt mutatja be, hogy ugyanaz a hiba jelenik meg, amikor az érték $ErrorView CategoryView-ra változik.

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

Ez a példa azt mutatja be, hogy az érték $ErrorView csak a hibamegjelenítésre van hatással. Nem módosítja az automatikus változóban tárolt hibaobjektum szerkezetét $Error . Az automatikus változóval kapcsolatos információkért $Error lásd : about_automatic_variables.

A következő parancs a hibatömb legutóbbi hibájához társított ErrorRecord objektumot veszi át, és formázja az objektum tulajdonságait egy listában.

$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

Meghatározza, hogy hány számba vett elem szerepel a megjelenítésben. Ez a változó nem befolyásolja a mögöttes objektumokat, csak a megjelenítést. Ha az érték $FormatEnumerationLimit kisebb, mint a számba vehető elemek száma, a PowerShell egy három pontot (...) ad hozzá a nem megjelenített elemek jelzéséhez.

Érvényes értékek: Egész számok (Int32)

Alapértelmezett érték: 4

Példák

Ez a példa bemutatja, hogyan használható a változó az $FormatEnumerationLimit enumerált elemek megjelenítésének javítására.

A példában szereplő parancs létrehoz egy táblát, amely két csoportban sorolja fel a számítógépen futó összes szolgáltatást: egyet a szolgáltatások futtatásához, egyet pedig a leállított szolgáltatásokhoz. Get-Service Egy paranccsal lekéri az összes szolgáltatást, majd elküldi az eredményeket a folyamaton keresztül a Group-Object parancsmagnak, amely a szolgáltatás állapota szerint csoportosítja az eredményeket.

Az eredmény egy tábla, amely a Név oszlop állapotát és a Csoport oszlopban lévő folyamatokat sorolja fel. Az oszlopfeliratok módosításához használjon kivonattáblát, lásd : about_Hash_Tables. További információt a Format-Table példáiban talál.

Keresse meg a jelenlegi értéket.$FormatEnumerationLimit

$FormatEnumerationLimit
4

Az állapot szerint csoportosított összes szolgáltatás listázása. Az egyes állapotok Csoport oszlopában legfeljebb négy szolgáltatás szerepel, mert $FormatEnumerationLimit értéke 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...}

A felsorolt elemek számának növeléséhez növelje az 1000-es értéket $FormatEnumerationLimit . A szolgáltatások használata Get-Service és Group-Object megjelenítése.

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

A Format-Table Wrap paraméterrel megjelenítheti a szolgáltatások listáját.

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

A $InformationPreference változóval beállíthatja a felhasználók számára megjeleníteni kívánt információstream-beállításokat. Pontosabban a parancsokhoz vagy szkriptekhez hozzáadott tájékoztató üzeneteket az Írási információk parancsmag hozzáadásával. Az InformationAction paraméter használata esetén az értéke felülbírálja a $InformationPreference változó értékét. Write-Information a PowerShell 5.0-ban jelent meg.

A $InformationPreference változó a ActionPreference enumerálási értékek: SilentlyContinue, Stop, Continue, Inquire, Ignore vagy Suspend.

Az érvényes értékek a következők:

  • Leállítás: Leállít egy parancsot vagy szkriptet a Write-Information parancs előfordulásakor.
  • Inquire: Megjeleníti a parancsban Write-Information megadott tájékoztató üzenetet, majd megkérdezi, hogy folytatja-e.
  • Folytatás: Megjeleníti az információs üzenetet, és továbbra is fut.
  • Felfüggesztés: A parancs végrehajtása után Write-Information automatikusan felfüggeszti a munkafolyamat-feladatokat, hogy a felhasználók a folytatás előtt lássák az üzeneteket. A munkafolyamat a felhasználó belátása szerint folytatható.
  • SilentlyContinue: (Alapértelmezett) Nincs effektus. A tájékoztató üzenetek nem jelennek meg, és a szkript megszakítás nélkül folytatódik.

$Log*Esemény

A Log*Event preference változók határozzák meg, hogy a rendszer milyen típusú eseményeket ír a PowerShell-eseménynaplóba a Eseménynapló. Alapértelmezés szerint csak a motor- és szolgáltatóesemények lesznek naplózva. A Napló*Esemény beállítási változóival azonban testre szabhatja a naplót, például a parancsokkal kapcsolatos naplózási eseményeket.

A Log*Event preference változók a következők:

  • $LogCommandHealthEvent: Naplózza a parancs inicializálásának és feldolgozásának hibáit és kivételeit. Az alapértelmezett érték $false (nincs naplózva).
  • $LogCommandLifecycleEvent: Naplózza a parancsok és parancsfolyamatok indítását és leállítását, valamint biztonsági kivételeket a parancsfelderítésben. Az alapértelmezett érték $false (nincs naplózva).
  • $LogEngineHealthEvent: Naplózza a munkamenetek hibáit és hibáit. Az alapértelmezett beállítás ( $true naplózva).
  • $LogEngineLifecycleEvent: Naplózza a munkamenetek megnyitását és bezárását. Az alapértelmezett beállítás ( $true naplózva).
  • $LogProviderHealthEvent: Naplószolgáltatói hibák, például olvasási és írási hibák, keresési hibák és hívási hibák. Az alapértelmezett beállítás ( $true naplózva).
  • $LogProviderLifecycleEvent: A PowerShell-szolgáltatók hozzáadásának és eltávolításának naplói. Az alapértelmezett beállítás ( $true naplózva). A PowerShell-szolgáltatókról további információt a about_Providers.

A Log*Event engedélyezéséhez írja be a változót a következő értékkel$true:

$LogCommandLifeCycleEvent = $true

Egy eseménytípus letiltásához írja be a változót a következő értékkel $false:

$LogCommandLifeCycleEvent = $false

Az engedélyezett események csak az aktuális PowerShell-konzolon érhetők el. Ha a konfigurációt az összes konzolra szeretné alkalmazni, mentse a változóbeállításokat a PowerShell-profiljában. További információ: about_Profiles.

$MaximumAliasCount

Meghatározza, hogy hány alias engedélyezett egy PowerShell-munkamenetben. Az alapértelmezett érték 4096 , és a legtöbb használathoz elegendőnek kell lennie. Igényeinek megfelelően alkalmazkodhat $MaximumAliasCount .

Érvényes értékek: 1024 – 32768 (Int32)

Alapértelmezett: 4096

A rendszeren lévő aliasok megszámlálásához írja be a következőt:

(Get-Alias).count

$MaximumDriveCount

Meghatározza, hogy egy adott munkamenetben hány PowerShell-meghajtó engedélyezett. Például a PowerShell-szolgáltatók által közzétett és meghajtóként megjelenő fájlrendszer-meghajtók és adattárak, például a meghajtók és HKLM: a Alias: meghajtók.

Érvényes értékek: 1024 – 32768 (Int32)

Alapértelmezett: 4096

A rendszeren lévő aliasok megszámlálásához írja be a következőt:

(Get-PSDrive).count

$MaximumErrorCount

Meghatározza, hogy a rendszer hány hibát ment a munkamenet hibaelőzményeibe.

Érvényes értékek: 256 – 32768 (Int32)

Alapértelmezett: 256

Az egyes megtartott hibákat jelképező objektumok az $Error automatikus változóban vannak tárolva. $Error hibarekord-objektumok tömbje. A legutóbbi hiba a tömb első objektuma. $Error[0]

A rendszer hibáinak megszámlálásához használja a $Error tömb Darabszám tulajdonságát.

$Error.count

Egy adott hiba megjelenítéséhez használja a [0] tömb jelölését a legutóbbi hiba megtekintéséhez.

$Error[0]

A legrégebbi megtartott hiba megjelenítéséhez írja be a következőt:

$Error[-1]

A Force paraméter felülbírálja az ErrorRecord objektumok speciális formázását, és visszaállítja a hagyományos formátumot. Az ErrorRecord objektum tulajdonságainak megjelenítéséhez írja be a következő parancsot:

$Error[0] | Format-List -Property * -Force

Ebben a példában $Error.Count a hibák számát jeleníti meg. A hibaelőzmények összes hibájának törléséhez használja a Clear hibatömb metódusát.

$Error.Count
17
$Error.Clear()
$Error.Count
0

A hibatömb összes tulajdonságának és metódusának megkereséséhez használja a parancsmagot az Get-Member InputObject paraméterrel. Az InputObject paraméter Get-Member használatakor megjeleníti a gyűjtemény tulajdonságait és metódusait.

Get-Member -InputObject $Error

Amikor objektumgyűjteményt Get-Membercsövez be, Get-Member megjeleníti a gyűjtemény objektumainak tulajdonságait és módszereit.

$Error | Get-Member

$MaximumFunctionCount

Meghatározza, hogy egy adott munkamenetben hány függvény engedélyezett.

Érvényes értékek: 1024 – 32768 (Int32)

Alapértelmezett: 4096

A munkamenet funkcióinak megtekintéséhez használja a PowerShell-szolgáltató által közzétett PowerShell-meghajtót Function: Function . A szolgáltatóval kapcsolatos további információkért Function about_Function_Provider.

Az aktuális munkamenet függvényeinek listázásához írja be a következőt:

Get-ChildItem Function:

Az aktuális munkamenet függvényeinek megszámlálásához írja be a következőt:

(Get-ChildItem Function:).Count

$MaximumHistoryCount

Meghatározza, hogy hány parancsot ment a rendszer az aktuális munkamenet parancselőzményeibe.

Érvényes értékek: 1 – 32768 (Int32)

Alapértelmezett: 4096

A parancselőzményekben mentett aktuális parancsok számának meghatározásához írja be a következőt:

(Get-History).Count

A munkamenet-előzményekben mentett parancsok megtekintéséhez használja a Get-History parancsmagot. További információ: about_History.

$MaximumVariableCount

Meghatározza, hogy egy adott munkamenetben hány változó engedélyezett, beleértve az automatikus változókat, a beállítási változókat és a parancsokban és szkriptekben létrehozott változókat.

Érvényes értékek: 1024 – 32768 (Int32)

Alapértelmezett: 4096

A munkamenet változóinak megtekintéséhez használja a Get-Variable parancsmagot, valamint a PowerShell-meghajtó Variable: és a PowerShell-szolgáltató funkcióit Variable . További információ: about_Variable_Provider.

A rendszeren lévő változók aktuális számának megkereséséhez írja be a következőt:

(Get-Variable).Count

$OFS

A Kimeneti mező elválasztó (OFS) azt a karaktert adja meg, amely elválasztja egy sztringgé konvertált tömb elemeit.

Érvényes értékek: Bármely sztring.

Alapértelmezett: Szóköz

Alapértelmezés szerint a $OFS változó nem létezik, és a kimeneti fájlelválasztó szóköz, de hozzáadhatja ezt a változót, és bármilyen sztringre beállíthatja. A munkamenet értékét $OFS a beírással $OFS="<value>"módosíthatja.

Feljegyzés

Ha egy hely (" ") alapértelmezett értékét várja a szkriptben, modulban vagy konfigurációs kimenetben, ügyeljen arra, hogy az $OFS alapértelmezett érték ne módosuljon a kód más részén.

Példák

Ez a példa azt mutatja be, hogy a tömbök sztringgé alakításakor egy szóköz választja el egymástól az értékeket. Ebben az esetben az egész számok tömbje egy változóban van tárolva, majd a változót sztringként öntötte.

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

Az elválasztó módosításához adja hozzá a $OFS változót egy érték hozzárendelésével. A változót el kell nevezni $OFS.

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

Az alapértelmezett viselkedés visszaállításához rendeljen hozzá egy szóközt (" ") a változó értékéhez $OFS , vagy törölje azt. Az alábbi parancsok törlik a változót, majd ellenőrzik, hogy az elválasztó szóköz-e.

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

$OutputEncoding

Meghatározza, hogy a PowerShell milyen karakterkódolási módszert használ az adatok natív alkalmazásokba való becsatolásához.

Feljegyzés

A forgatókönyvek többségében az értéknek $OutputEncoding a következő értékhez [Console]::InputEncodingkell igazodnia: .

Az érvényes értékek a következők: Kódolási osztályból származó objektumok, például ASCIIEncoding, UTF7Encoding, UTF8Encoding, UTF32Encoding és UnicodeEncoding.

Alapértelmezett: ASCIIEncoding objektum.

Példák

Az első parancs megkeresi $OutputEncodinga következő értékét: . Mivel az érték egy kódolási objektum, csak annak EncodingName tulajdonsága jelenik meg.

$OutputEncoding.EncodingName

A többi példa a következő Mentett hexdump.ps1 PowerShell-szkripttel szemlélteti a viselkedését $OutputEncoding.

$inputStream = [Console]::OpenStandardInput()
try {
    $buffer = [byte[]]::new(1024)
    $read = $inputStream.Read($buffer, 0, $buffer.Length)
    $actual = [byte[]]::new($read)
    [Array]::Copy($buffer, $actual, $read)
    Format-Hex -InputObject $actual
} finally {
    $inputStream.Dispose()
}

Az alábbi példa bemutatja, hogyan kódolja a sztringértéket café bájtokra a fenti létrehozáskor hexdump.ps1 . Bemutatja, hogy a sztringérték a windows-1252 kódolási sémával van kódolva, amely az alapértelmezett kódolás a szóban forgó rendszeren.

'café' | powershell.exe -File .\hexdump.ps1
           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000   63 61 66 3F 0D 0A                                caf?..

Az alábbi példa bemutatja, hogyan változnak a bájtok, amikor a kódolást UTF-8-ra módosítják. Ahelyett é , hogy 0x3F az általa windows-1252 végzett kódolásra lenne kódolva, most 0xC3 0xA9 az UTF-8 kódolás lesz a használatban.

$OutputEncoding = [System.Text.UTF8Encoding]::new()
'café' | powershell.exe -File .\hexdump.ps1
           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000   63 61 66 C3 A9 0D 0A                             café..

$ProgressPreference

Meghatározza, hogy a PowerShell hogyan reagál a szkript, parancsmag vagy szolgáltató által létrehozott folyamatfrissítésekre, például a Write-Progress parancsmag által létrehozott folyamatjelző sávokra. A Write-Progress parancsmag olyan folyamatjelző sávokat hoz létre, amelyek egy parancs állapotát mutatják.

A $ProgressPreference változó a ActionPreference következő enumerálási értékek egyikét veszi fel: SilentlyContinue, Stop, Continue, Inquire, Ignore vagy Suspend.

Az érvényes értékek a következők:

  • Leállítás: Nem jelenik meg a folyamatjelző sáv. Ehelyett hibaüzenetet jelenít meg, és leállítja a végrehajtást.
  • Inquire: Nem jelenik meg a folyamatjelző sáv. Engedélyt kér a folytatáshoz. Ha válaszol vagy Y A, megjelenik a folyamatjelző sáv.
  • Folytatás: (Alapértelmezett) Megjeleníti a folyamatjelző sávot, és folytatja a végrehajtást.
  • SilentlyContinue: Végrehajtja a parancsot, de nem jeleníti meg a folyamatjelző sávot.

$PSDefaultParameterValues

A parancsmagok és a speciális függvények paramétereinek alapértelmezett értékeit adja meg. Az érték $PSDefaultParameterValues egy kivonattábla, amelyben a kulcs a parancsmag nevéből és a paraméternévből áll, kettősponttal (:kettősponttal elválasztva). Az érték egy ön által megadott egyéni alapértelmezett érték.

$PSDefaultParameterValues a PowerShell 3.0-ban jelent meg.

Erről a beállítási változóról további információt a about_Parameters_Default_Values talál.

$PSEmailServer

Megadja az e-mailek küldéséhez használt alapértelmezett e-mail-kiszolgálót. Ezt a beállítási változót használják az e-maileket küldő parancsmagok, például a Send-MailMessage parancsmag.

$PSModuleAutoloadingPreference

Engedélyezi és letiltja a modulok automatikus importálását a munkamenetben. A $PSModuleAutoloadingPreference változó alapértelmezés szerint nem létezik. Az alapértelmezett viselkedés, ha a változó nincs definiálva, ugyanaz, mint $PSModuleAutoloadingPreference = 'All'a .

Modul automatikus importálásához szerezze be vagy használja a modulban található parancsot.

A $PSModuleAutoloadingPreference változó az enumerálási értékek egyikét PSModuleAutoLoadingPreference veszi fel:

  • All: A modulok első használatkor automatikusan importálódnak.
  • ModuleQualified: A modulok csak akkor lesznek automatikusan importálva, ha egy felhasználó a modulban lévő parancs modul-minősített nevét használja. Ha például a felhasználó típusok, MyModule\MyCommanda PowerShell importálja a MyModule modult.
  • None: Letiltja a modulok automatikus importálását. Modul importálásához használja a Import-Module parancsmagot.

További információ a modulok automatikus importálásáról: about_Modules.

$PSSessionApplicationName

Megadja a Web Services for Management (WS-Management) technológiát használó távoli parancsok alapértelmezett alkalmazásnevét. További információ: Tudnivalók a Windows távfelügyeletről.

A rendszer alapértelmezett alkalmazásneve, WSMANde ezzel a beállításváltozóval módosíthatja az alapértelmezett értéket.

Az alkalmazás neve a kapcsolati URI utolsó csomópontja. Az alábbi minta URI-ban például az alkalmazás neve a következő WSMAN.

http://Server01:8080/WSMAN

Az alapértelmezett alkalmazásnevet akkor használja a rendszer, ha a távoli parancs nem ad meg kapcsolati URI-t vagy alkalmazásnevet.

A WinRM szolgáltatás az alkalmazás nevével választ ki egy figyelőt a kapcsolatkérés kiszolgálásához. A paraméter értékének meg kell egyeznie a távoli számítógépen lévő figyelő URLPrefix tulajdonságának értékével.

A rendszer alapértelmezett értékének és a változó értékének felülbírálásához, és válasszon egy másik alkalmazásnevet egy adott munkamenethez, használja a New-PSSession, az Enter-PSSession vagy az Invoke-Command parancsmagok ConnectionURI vagy ApplicationName paramétereit.

A $PSSessionApplicationName beállítási változó a helyi számítógépen van beállítva, de a távoli számítógépen egy figyelőt ad meg. Ha a megadott alkalmazásnév nem létezik a távoli számítógépen, a munkamenet létrehozásához szükséges parancs meghiúsul.

$PSSessionConfigurationName

Megadja az aktuális munkamenetben új munkamenetek létrehozásához használt alapértelmezett munkamenet-konfigurációt.

Ez a beállítási változó a helyi számítógépen van beállítva, de megadja a távoli számítógépen található munkamenet-konfigurációt.

A változó értéke $PSSessionConfigurationName egy teljes erőforrás-URI.

Az alapértelmezett érték http://schemas.microsoft.com/PowerShell/microsoft.PowerShell a Microsoft.PowerShell-munkamenet konfigurációját jelzi a távoli számítógépen.

Ha csak egy konfigurációnevet ad meg, a következő séma URI-ja elő van állítva:

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

Felülbírálhatja az alapértelmezett beállítást, és kiválaszthat egy másik munkamenet-konfigurációt az , Enter-PSSessionvagy Invoke-Command parancsmagok ConfigurationName paraméterévelNew-PSSession.

A változó értékét bármikor módosíthatja. Amikor így tesz, ne feledje, hogy a kiválasztott munkamenet-konfigurációnak léteznie kell a távoli számítógépen. Ha nem, a munkamenet-konfigurációt használó munkamenet létrehozására vonatkozó parancs meghiúsul.

Ez a beállításváltozó nem határozza meg, hogy mely helyi munkamenet-konfigurációkat használják a távoli felhasználók a számítógéphez csatlakozó munkamenet létrehozásakor. A helyi munkamenet-konfigurációk engedélyeinek használatával azonban meghatározhatja, hogy mely felhasználók használhatják őket.

$PSSessionOption

Létrehozza a speciális felhasználói beállítások alapértelmezett értékeit egy távoli munkamenetben. Ezek a beállítási beállítások felülbírálják a munkamenet-beállítások rendszer alapértelmezett értékeit.

A $PSSessionOption változó PSSessionOption objektumot tartalmaz. További információ: System.Management.Automation.Remoting.PSSessionOption. Az objektum minden tulajdonsága egy munkamenet-beállítást jelöl. Például a NoCompression tulajdonság adattömörítést vált a munkamenet során.

A változó alapértelmezés szerint $PSSessionOption tartalmaz egy PSSessionOption objektumot, amely az összes beállítás alapértelmezett értékeit tartalmazza, ahogyan az alább látható.

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

Ezekről a lehetőségekről és további információkról a New-PSSessionOption című témakörben olvashat. A távoli parancsokkal és munkamenetekkel kapcsolatos további információkért lásd: about_Remote és about_PSSessions.

A beállítási változó értékének $PSSessionOption módosításához a New-PSSessionOption parancsmaggal hozzon létre egy PSSessionOption objektumot a kívánt beállításértékekkel. Mentse a kimenetet egy úgynevezett $PSSessionOptionváltozóban.

$PSSessionOption = New-PSSessionOption -NoCompression

Ha minden PowerShell-munkamenetben használni szeretné a $PSSessionOption beállítási változót, adjon hozzá egy New-PSSessionOption parancsot, amely létrehozza a változót $PSSessionOption a PowerShell-profilban. További információ: about_Profiles.

Egyéni beállításokat adhat meg egy adott távoli munkamenethez. A megadott beállítások elsőbbséget élveznek a rendszer alapértelmezett értékével és a $PSSessionOption beállítási változó értékével szemben.

Az egyéni munkamenet-beállítások beállításához a New-PSSessionOption parancsmaggal hozzon létre egy PSSessionOption objektumot. Ezután használja a PSSessionOption objektumot a munkamenetet létrehozó parancsmagok SessionOption paraméterének értékeként, például New-PSSession: , Enter-PSSessionés Invoke-Command.

$Transcript

Az Start-Transcript átiratfájl nevének és helyének megadására szolgál. Ha nem ad meg értéket az Elérési út paraméterhez, Start-Transcript az elérési utat használja a $Transcript globális változó értékében. Ha még nem hozta létre ezt a változót, Start-Transcript az átiratokat az alábbi helyen tárolja az alapértelmezett névvel.

  • Alapértelmezett hely: $HOME\Documents
  • Alapértelmezett fájlnév: PowerShell_transcript.<computername>.<random>.<timestamp>.txt

$VerbosePreference

Meghatározza, hogy a PowerShell hogyan reagál a szkript, parancsmag vagy szolgáltató által létrehozott részletes üzenetekre, például a Write-Verbose parancsmag által létrehozott üzenetekre. A részletes üzenetek a parancs végrehajtásához végrehajtott műveleteket írják le.

Alapértelmezés szerint a részletes üzenetek nem jelennek meg, de ezt a viselkedést módosíthatja $VerbosePreferenceaz érték módosításával.

A $VerbosePreference változó a ActionPreference következő enumerálási értékek egyikét veszi fel: SilentlyContinue, Stop, Continue, Inquire, Ignore vagy Suspend.

Az érvényes értékek a következők:

  • Leállítás: Megjeleníti a részletes üzenetet és egy hibaüzenetet, majd leállítja a végrehajtást.
  • Inquire: Megjeleníti a részletes üzenetet, majd megjelenik egy kérdés, amely megkérdezi, hogy folytatja-e.
  • Folytatás: Megjeleníti a részletes üzenetet, majd folytatja a végrehajtást.
  • SilentlyContinue: (Alapértelmezett) Nem jelenik meg a részletes üzenet. Folytatja a végrehajtást.

A parancsmag részletes gyakori paraméterével megjelenítheti vagy elrejtheti egy adott parancs részletes üzenetét. További információ: about_CommonParameters.

Példák

Ezek a példák a különböző értékek $VerbosePreference és a Részletes paraméter hatását mutatják be a beállítási érték felülbírálásához.

Ez a példa a SilentlyContinue érték hatását mutatja be, ez az alapértelmezett érték. A parancs az Üzenet paramétert használja, de nem ír üzenetet a PowerShell-konzolra.

Write-Verbose -Message "Verbose message test."

Ha a Részletes paramétert használja, az üzenet meg lesz írva.

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

Ez a példa a Folytatás érték hatását mutatja be. A $VerbosePreference változó a Continue (Folytatás) értékre van állítva, és megjelenik az üzenet.

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

Ez a példa a Verbose paramétert használja olyan értékkel $false , amely felülbírálja a Folytatás értéket. Az üzenet nem jelenik meg.

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

Ez a példa a Stop érték hatását mutatja be. A $VerbosePreference változó Leállítás értékre van állítva, és megjelenik az üzenet. A parancs le van állítva.

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

Ez a példa a Verbose paramétert használja olyan értékkel $false , amely felülbírálja a Stop értéket. Az üzenet nem jelenik meg.

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

Ez a példa az Inquire érték hatását mutatja be. A $VerbosePreference változó inquire értékre van állítva. Megjelenik az üzenet, és a rendszer megerősítést kér a felhasználótól.

$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  [S] Suspend
[?] Help (default is "Y"):

Ez a példa a Részletes paramétert használja olyan értékkel $false , amely felülbírálja az Inquire értéket. A rendszer nem kéri a felhasználót, és az üzenet nem jelenik meg.

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

$WarningPreference

Meghatározza, hogy a PowerShell hogyan reagál a szkript, parancsmag vagy szolgáltató által létrehozott figyelmeztető üzenetekre, például a Write-Warning parancsmag által létrehozott üzenetekre.

Alapértelmezés szerint a figyelmeztető üzenetek megjelennek, és a végrehajtás folytatódik, de ezt a viselkedést módosíthatja $WarningPreferenceaz érték módosításával.

A $WarningPreference változó a ActionPreference következő enumerálási értékek egyikét veszi fel: SilentlyContinue, Stop, Continue, Inquire, Ignore vagy Suspend.

Az érvényes értékek a következők:

  • Leállítás: Megjeleníti a figyelmeztető üzenetet és egy hibaüzenetet, majd leállítja a végrehajtást.
  • Inquire: Megjeleníti a figyelmeztető üzenetet, majd engedélyt kér a folytatáshoz.
  • Folytatás: (Alapértelmezett) Megjeleníti a figyelmeztető üzenetet, majd folytatja a végrehajtást.
  • SilentlyContinue: Nem jelenik meg a figyelmeztető üzenet. Folytatja a végrehajtást.

A parancsmagOk WarningAction gyakori paraméterével meghatározhatja, hogy a PowerShell hogyan reagál egy adott parancs figyelmeztetéseire. További információ: about_CommonParameters.

Példák

Ezek a példák a különböző értékek $WarningPreferencehatását mutatják be. A WarningAction paraméter felülbírálja a beállítási értéket.

Ez a példa az alapértelmezett érték, a Continue (Folytatás) hatását mutatja be.

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

Ez a példa a WarningAction paramétert használja a SilentlyContinue értékkel a figyelmeztetés letiltásához. Az üzenet nem jelenik meg.

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

Ez a példa a változót $WarningPreference a SilentlyContinue értékre módosítja. Az üzenet nem jelenik meg.

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

Ez a példa a WarningAction paraméterrel állítja le a figyelmeztetést.

$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

Ez a példa a változót $WarningPreference az Inquire értékre módosítja. A rendszer megerősítést kér a felhasználótól.

$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  [S] Suspend
[?] Help (default is "Y"):

Ez a példa a WarningAction paramétert használja a SilentlyContinue értékkel. A parancs továbbra is fut, és nem jelenik meg üzenet.

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

Ez a példa leállítás értékre módosítja az $WarningPreference értéket.

$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

Ez a példa a WarningAction függvényt használja az Inquire értékkel. A rendszer figyelmeztetés esetén kéri a felhasználót.

$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  [S] Suspend
[?] Help (default is "Y"):

$WhatIfPreference

Meghatározza, hogy a WhatIf automatikusan engedélyezve van-e minden olyan parancshoz, amely támogatja azt. Ha a WhatIf engedélyezve van, a parancsmag a parancs várt hatását jelenti, de nem hajtja végre a parancsot.

Az érvényes értékek a következők:

  • False (0, not enabled): (Alapértelmezett) A WhatIf nincs automatikusan engedélyezve. Manuális engedélyezéséhez használja a parancsmag WhatIf paraméterét.
  • True (1, enabled): A WhatIf automatikusan engedélyezve van minden olyan parancson, amely támogatja azt. A felhasználók a WhatIf paramétert hamis értékkel használhatják a manuális letiltásához, például-WhatIf:$false.

Példák

Ezek a példák a különböző értékek $WhatIfPreferencehatását mutatják be. Bemutatják, hogyan lehet a WhatIf paraméterrel felülbírálni egy adott parancs beállítási értékét.

Ez a példa az alapértelmezett értékre beállított változó false (Hamis) hatását $WhatIfPreference mutatja be. A fájl meglétének ellenőrzésére használható Get-ChildItem . Remove-Item törli a fájlt. A fájl törlése után ellenőrizheti a törlést a következővel 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

Ez a példa azt mutatja be, hogy a WhatIf paraméter milyen hatással van a Hamis értékre$WhatIfPreference.

Ellenőrizze, hogy létezik-e a fájl.

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

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

A WhatIf paraméter használatával állapítsa meg a fájl törlésére tett kísérlet eredményét.

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

Ellenőrizze, hogy a fájl nem lett-e törölve.

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

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

Ez a példa a $WhatIfPreference true (Igaz) értékre beállított változó hatását mutatja be. Fájl Remove-Item törlésekor megjelenik a fájl elérési útja, de a fájl nem törlődik.

Fájl törlésének kísérlete. Megjelenik egy üzenet arról, hogy mi történne, ha Remove-Item futna, de a fájl nem törlődik.

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

Annak ellenőrzésére, Get-ChildItem hogy a fájl nem lett-e törölve.

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

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

Ez a példa bemutatja, hogyan törölhet egy fájlt, ha az értéke $WhatIfPreference Igaz. A WhatIf paramétert használja a következő $falseértékkel: . A fájl törlésének ellenőrzésére használható Get-ChildItem .

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

Az alábbiakban példákat láthat arra a parancsmagra, amely nem támogatja a Get-Process WhatIf-t, és Stop-Process amely támogatja a WhatIf-t. A $WhatIfPreference változó értéke Igaz.

Get-Process nem támogatja a WhatIf-t. A parancs végrehajtásakor megjelenik a Winword folyamat.

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 támogatja a WhatIf-t. A Winword-folyamat nem áll le.

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

A WhatIf viselkedés felülbírálható Stop-Process a WhatIf paraméterrel, amelynek értéke a következő$false. A Winword folyamat leállt.

Stop-Process -Name Winword -WhatIf:$false

A Winword-folyamat leállításának ellenőrzéséhez használja a következőtGet-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

Lásd még