Delen via


over_GemeenschappelijkeParameters

Korte beschrijving

Beschrijft de parameters die kunnen worden gebruikt met elke cmdlet.

Lange beschrijving

De algemene parameters zijn een set cmdlet-parameters die u met elke cmdlet kunt gebruiken. Ze worden geïmplementeerd door PowerShell, niet door de cmdlet-ontwikkelaar en zijn automatisch beschikbaar voor elke cmdlet.

U kunt de algemene parameters gebruiken met een cmdlet, maar ze hebben mogelijk geen effect op alle cmdlets. Als een cmdlet bijvoorbeeld geen uitgebreide uitvoer genereert, heeft het gebruik van de Verbose algemene parameter geen effect.

De algemene parameters zijn ook beschikbaar voor geavanceerde functies die gebruikmaken van het CmdletBinding kenmerk of het Parameter kenmerk. Wanneer u deze kenmerken gebruikt, worden in PowerShell automatisch de algemene parameters toegevoegd. U kunt geen parameters maken die dezelfde namen gebruiken als de algemene parameters.

Verschillende algemene parameters overschrijven systeemstandaarden of voorkeuren die u instelt met behulp van de PowerShell-voorkeursvariabelen. In tegenstelling tot de voorkeursvariabelen zijn de algemene parameters alleen van invloed op de opdrachten waarin ze worden gebruikt.

Zie about_Preference_Variables voor meer informatie.

In de volgende lijst worden de algemene parameters weergegeven. Hun aliassen worden tussen haakjes weergegeven.

  • Debug (d ter)
  • ErrorAction (ea)
  • ErrorVariable (ev)
  • InformationAction (infa)
  • InformationVariable iv)
  • OutVariable (ov)
  • OutBuffer (ob)
  • PipelineVariable (hw)
  • ProgressAction (proga)
  • Verbose (vb)
  • WarningAction (wa)
  • WarningVariable (wv)

De actieparameters zijn ActionPreference typewaarden. ActionPreference is een opsomming met de volgende waarden:

Naam Weergegeven als
Break 6
Suspend 5
Ignore 4
Inquire 3
Continue 2
Stop 1
SilentlyContinue 0

U kunt de naam of waarde met de parameter gebruiken.

Naast de algemene parameters bieden veel cmdlets risicobeperkingsparameters. Cmdlets die risico's met zich meebrengen voor het systeem of voor gebruikersgegevens bieden meestal deze parameters.

De risicobeperkingsparameters zijn:

  • WhatIf (wi)
  • Confirm (zie bis)

Algemene parameters

-Debug

Geeft details op programmeurniveau weer over de bewerking die door de opdracht wordt uitgevoerd. Deze parameter werkt alleen wanneer de opdracht een foutopsporingsbericht genereert. Deze parameter werkt bijvoorbeeld wanneer een opdracht de Write-Debug cmdlet bevat.

Type: SwitchParameter
Aliases: db
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

Foutopsporingsberichten worden standaard niet weergegeven omdat de waarde van de $DebugPreference variabele .SilentlyContinue

De Debug parameter overschrijft de waarde van de $DebugPreference variabele voor de huidige opdracht, waarbij de waarde wordt $DebugPreferenceContinueingesteld op .

-Debug:$true heeft hetzelfde effect als -Debug. Gebruik -Debug:$false dit om de weergave van foutopsporingsberichten te onderdrukken wanneer $DebugPreference dit niet SilentlyContinuehet standaard is.

-Foutactie

Bepaalt hoe de cmdlet reageert op een niet-afsluitfout van de opdracht. Deze parameter werkt alleen wanneer de opdracht een niet-afsluitfout genereert, zoals die van de Write-Error cmdlet.

Type: ActionPreference
Aliases: ea
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

De ErrorAction parameter overschrijft de waarde van de $ErrorActionPreference variabele voor de huidige opdracht. Omdat de standaardwaarde van de $ErrorActionPreference variabele is Continue, worden foutberichten weergegeven en wordt de uitvoering voortgezet, tenzij u de ErrorAction parameter gebruikt.

De ErrorAction parameter heeft geen effect op afsluitfouten (zoals ontbrekende gegevens, parameters die niet geldig zijn of onvoldoende machtigingen) die verhinderen dat een opdracht kan worden voltooid.

  • Break Hiermee voert u het foutopsporingsprogramma in wanneer er een fout optreedt of er een uitzondering wordt gegenereerd.
  • Continue geeft het foutbericht weer en gaat door met het uitvoeren van de opdracht. Continue is de standaardwaarde.
  • Ignore onderdrukt het foutbericht en gaat door met het uitvoeren van de opdracht. In tegenstelling tot SilentlyContinue, Ignore wordt het foutbericht niet toegevoegd aan de $Error automatische variabele. De Ignore waarde wordt geïntroduceerd in PowerShell 3.0.
  • Inquire geeft het foutbericht weer en vraagt u om bevestiging voordat u doorgaat met de uitvoering. Deze waarde wordt zelden gebruikt.
  • SilentlyContinue onderdrukt het foutbericht en gaat door met het uitvoeren van de opdracht.
  • Stop geeft het foutbericht weer en stopt met het uitvoeren van de opdracht.
  • Suspend is alleen beschikbaar voor werkstromen die niet worden ondersteund in PowerShell 6 en hoger.

Notitie

De ErrorAction parameter overschrijft, maar vervangt de waarde van de $ErrorActionPreference variabele niet wanneer de parameter wordt gebruikt in een opdracht om een script of functie uit te voeren.

-ErrorVariabele

Foutrecords worden automatisch opgeslagen in de $Error automatische variabele. Zie about_Automatic_Variables voor meer informatie.

Wanneer u de ErrorVariable parameter voor een opdracht gebruikt, worden in PowerShell ook de foutrecords opgeslagen die door de opdracht zijn verzonden in de variabele die is opgegeven door de parameter.

Type: String
Aliases: ev
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Nieuwe foutberichten overschrijven standaard foutberichten die al zijn opgeslagen in de variabele. Als u het foutbericht wilt toevoegen aan de inhoud van de variabele, plaatst u een plusteken (+) vóór de naam van de variabele.

Met de volgende opdracht wordt bijvoorbeeld de variabele gemaakt $a en worden eventuele fouten hierin opgeslagen:

Get-Process -Id 6 -ErrorVariable a

Met de volgende opdracht worden eventuele foutberichten aan de $a variabele toegevoegd:

Get-Process -Id 2 -ErrorVariable +a

Met de volgende opdracht wordt de inhoud van $a:

$a

U kunt deze parameter gebruiken om een variabele te maken die alleen foutberichten van specifieke opdrachten bevat en niet van invloed is op het gedrag van de $Error automatische variabele. De $Error automatische variabele bevat foutberichten van alle opdrachten in de sessie. U kunt matrix-notatie gebruiken, zoals $a[0] of $Error[1,2] verwijzen naar specifieke fouten die zijn opgeslagen in de variabelen.

Notitie

De aangepaste foutvariabele bevat alle fouten die door de opdracht worden gegenereerd, inclusief fouten van aanroepen naar geneste functies of scripts.

-InformatieActie

Geïntroduceerd in PowerShell 5.0. Binnen de opdracht of het script waarin deze wordt gebruikt, overschrijft de InformationAction algemene parameter de waarde van de $InformationPreference voorkeursvariabele, die standaard is ingesteld op SilentlyContinue. Wanneer u Write-Information in een script gebruikt InformationAction, Write-Information worden waarden weergegeven, afhankelijk van de waarde van de InformationAction parameter. Zie $InformationPreference voor meer informatie.

Type: ActionPreference
Aliases: infa
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False
  • Break Hiermee voert u het foutopsporingsprogramma in bij een exemplaar van de Write-Information opdracht.
  • Stop stopt een opdracht of script bij een exemplaar van de Write-Information opdracht.
  • Ignore onderdrukt het informatieve bericht en gaat door met het uitvoeren van de opdracht. In tegenstelling tot SilentlyContinue, Ignore vergeet het informatieve bericht volledig; het informatieve bericht wordt niet toegevoegd aan de informatiestroom.
  • Inquire geeft het informatieve bericht weer dat u opgeeft in een Write-Information opdracht en vraagt vervolgens of u wilt doorgaan.
  • Continue geeft het informatieve bericht weer en blijft actief.
  • Suspend wordt niet ondersteund in PowerShell 6 en hoger, omdat deze alleen beschikbaar is voor werkstromen.
  • SilentlyContinue geen effect omdat het informatieve bericht niet (standaard) wordt weergegeven en het script zonder onderbreking wordt voortgezet.

Notitie

De InformationAction parameter overschrijft, maar vervangt de waarde van de $InformationAction voorkeursvariabele niet wanneer de parameter wordt gebruikt in een opdracht om een script of functie uit te voeren.

-InformatieVariabele

Geïntroduceerd in PowerShell 5.0. Wanneer u de InformationVariable algemene parameter gebruikt, worden gegevensrecords opgeslagen in de variabele die is opgegeven door de parameter. En PowerShell-cmdlet kan informatierecords naar de Information stream schrijven. U kunt de Write-Information cmdlet ook gebruiken om informatierecords te schrijven.

Informatierecords worden standaard weergegeven als berichten in de console. U kunt de weergave van informatierecords beheren met behulp van de InformationAction algemene parameter. U kunt ook het gedrag wijzigen met behulp van de $InformationPreference voorkeursvariabele. Zie $InformationPreference voor meer informatie.

Notitie

De informatievariabele bevat alle informatieberichten die door de opdracht worden gegenereerd, inclusief informatieberichten van aanroepen naar geneste functies of scripts.

Type: String
Aliases: iv
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Standaard overschrijft nieuwe gegevensrecord waarden die al in de variabele zijn opgeslagen. Als u het foutbericht wilt toevoegen aan de inhoud van de variabele, plaatst u een plusteken (+) vóór de naam van de variabele.

-OutBuffer

Bepaalt het aantal objecten dat in een buffer moet worden verzameld voordat objecten via de pijplijn worden verzonden. Als u deze parameter weglaat, worden objecten verzonden terwijl ze worden gegenereerd.

Type: Int32
Aliases: ob
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Deze resourcebeheerparameter is ontworpen voor geavanceerde gebruikers. Wanneer u deze parameter gebruikt, verzendt PowerShell gegevens naar de volgende cmdlet in batches van OutBuffer + 1.

In het volgende voorbeeld wordt een alternatief weergegeven tussen ForEach-Object procesblokken die gebruikmaken van de Write-Host cmdlet. De weergave-alternatieven in batches van 2 of OutBuffer + 1.

1..4 | ForEach-Object {
        Write-Host "$($_): First"; $_
      } -OutBuffer 1 | ForEach-Object {
                        Write-Host "$($_): Second" }
1: First
2: First
1: Second
2: Second
3: First
4: First
3: Second
4: Second

-Variabel

Slaat uitvoerobjecten op uit de opdracht in de opgegeven variabele, naast het verzenden van de uitvoer langs de pijplijn.

Type: String
Aliases: ov
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Als u de uitvoer wilt toevoegen aan de variabele, typt u een plusteken (+) vóór de naam van de variabele in plaats van de uitvoer die daar al is opgeslagen, te vervangen.

Met de volgende opdracht wordt bijvoorbeeld de variabele gemaakt $out en wordt het procesobject hierin opgeslagen:

Get-Process powershell -OutVariable out

Met de volgende opdracht wordt het procesobject toegevoegd aan de $out variabele:

Get-Process iexplore -OutVariable +out

Met de volgende opdracht wordt de inhoud van de $out variabele weergegeven:

$out

Notitie

De variabele die door de OutVariable parameter is gemaakt, is een [System.Collections.ArrayList].

-PijplijnVariabele

PipelineVariable biedt toegang tot de meest recente waarde die is doorgegeven aan het volgende pijplijnsegment door de opdracht die deze parameter gebruikt. Elke opdracht in de pijplijn heeft toegang tot de waarde met behulp van de benoemde PipelineVariable. De waarde wordt toegewezen aan de variabele wanneer deze wordt doorgegeven aan het volgende pijplijnsegment. Dit maakt het PipelineVariable eenvoudiger om te gebruiken dan een specifieke tijdelijke variabele, die mogelijk op meerdere locaties moet worden toegewezen.

In tegenstelling tot $_ of $PSItem, met behulp van een PipelineVariable pijplijnopdracht kan elke pijplijnopdracht toegang krijgen tot pijplijnwaarden die zijn doorgegeven (en opgeslagen) door andere opdrachten dan de direct voorafgaande opdracht. Pijplijnopdrachten hebben toegang tot de laatste waarde die wordt doorgesluisd tijdens het verwerken van het volgende item dat via de pijplijn wordt doorgegeven. Hierdoor kan een opdracht de uitvoer terugsturen naar een vorige opdracht (of zichzelf).

Notitie

Geavanceerde functies kunnen maximaal drie scriptblokken bevatten: begin, processen end. Wanneer u de PipelineVariable parameter met geavanceerde functies gebruikt, worden alleen waarden uit het eerste gedefinieerde scriptblok toegewezen aan de variabele wanneer de functie wordt uitgevoerd. Zie Geavanceerde functies voor meer informatie. PowerShell 7.2 corrigeert dit gedrag.

Type: String
Aliases: pv
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Geldige waarden zijn tekenreeksen, hetzelfde als voor namen van variabelen.

Let op

Het PipelineVariable bereik is gericht op de pijplijn waarin deze wordt aangeroepen. Variabelen buiten de pijplijn, die dezelfde naam gebruiken, worden gewist voordat de pijplijn wordt uitgevoerd. Het PipelineVariable gaat buiten het bereik wanneer de pijplijn wordt beëindigd. Als meerdere opdrachten in de pijplijn hetzelfde PipelineVariable opgeven, is er slechts één gedeelde variabele. Deze variabele wordt bijgewerkt met de meest recente piped-uitvoer van de opdracht waarmee de variabele wordt opgegeven.

Sommige blokkerende opdrachten verzamelen alle pijplijnitems voordat ze uitvoer produceren, bijvoorbeeld Sort-Object of Select-Object -Last. Elke PipelineVariable opdracht die is toegewezen vóór een dergelijke blokkeringsopdracht, bevat altijd het laatste piped item uit de voorgaande opdracht wanneer deze wordt gebruikt in een opdracht na de blokkeringsopdracht.

In het volgende voorbeeld ziet u hoe het PipelineVariable werkt. In dit voorbeeld worden vijf getallen doorgesluisd naar de eerste ForEach-Object opdracht. Elk item in de pijplijn wordt opgeslagen in de pijplijnvariabele met de naam $Temp.

Het Process blok van de eerste ForEach-Object opdracht geeft het pijplijnitem door aan de downstream-opdracht ForEach-Object . De status van de variabelen wordt in elke stap weergegeven.

# Create a variable named $Temp
$Temp = 8
Get-Variable Temp | Format-Table

$InformationPreference = 'Continue'
Write-Information '-------------------------------------------------'
111,222,333,444,555 | ForEach-Object -PipelineVariable Temp -Begin {

  # Note that the newly create $Temp variable doesn't contain the value 8
  # assigned before the pipeline started and that $PSItem is empty in
  # the Begin block.
  Write-Information "Upstream (Begin):   PSItem = '$PSItem', Temp = '$Temp'"

} -Process {

  Write-Information "Upstream (Process): PSItem = '$PSItem', Temp = '$Temp'"
  return $PSItem

} | ForEach-Object -Process {

  Write-Information "`tDownstream: PSItem = '$PSItem', Temp = '$Temp'"

}
Write-Information '-------------------------------------------------'

# The $Temp variable is deleted when the pipeline finishes
Get-Variable Temp | Format-Table
Name                           Value
----                           -----
Temp                           8

-------------------------------------------------
Upstream (Begin):   PSItem = '', Temp = ''
Upstream (Process): PSItem = '111', Temp = ''
        Downstream: PSItem = '111', Temp = '111'
Upstream (Process): PSItem = '222', Temp = '111'
        Downstream: PSItem = '222', Temp = '222'
Upstream (Process): PSItem = '333', Temp = '222'
        Downstream: PSItem = '333', Temp = '333'
Upstream (Process): PSItem = '444', Temp = '333'
        Downstream: PSItem = '444', Temp = '444'
Upstream (Process): PSItem = '555', Temp = '444'
        Downstream: PSItem = '555', Temp = '555'
-------------------------------------------------

Name                           Value
----                           -----
Temp

Let op

Er zijn twee bekende problemen met het gebruik van de parameter PipelineVariable in een pijplijn die CimCmdlets of CDXML-cmdlets bevat. In de volgende voorbeelden Get-Partition is een CDXML-functie en Get-CimInstance een CimCmdlet.

Probleem 1: CDXML-functies gebruiken [CmdletBinding()], waarmee de parameter PipelineVariable wordt toegestaan.

Get-Partition -pv pvar

Wanneer u PipelineVariable echter gebruikt in Windows PowerShell v5.1, wordt de volgende fout weergegeven.

Get-Partition : Cannot retrieve the dynamic parameters for the cmdlet.
Object reference not set to an instance of an object.

At line:1 char:1
+ get-partition -PipelineVariable pvar
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Get-Partition], ParameterBindingException
    + FullyQualifiedErrorId : GetDynamicParametersException,Get-Partition

Probleem 2: Wanneer de voorgaande opdracht geen CDXML-opdracht is en de downstream een van beide opdrachttypen bevat, blijft de PipelineVariable behouden als het laatst samengevoegde object.

Get-CimInstance Win32_DiskDrive -pv pvar |
    ForEach-Object {
        Write-Host "Upstream: Disk $($pvar.Index)"
        return [pscustomobject]@{ DiskNumber = $_.Index }
    } | Get-Partition | ForEach-Object {
        Write-Host "Downstream: Disk $($pvar.Index)"
    }

U ziet dat de waarde van $pvar ingesteld op het laatste object in de pijplijn voor de tweede ForEach-Object opdracht.

Upstream: Disk 1
Upstream: Disk 2
Upstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0
Downstream: Disk 0

-Progressie Actie

Bepaalt hoe PowerShell reageert op voortgangsupdates die worden gegenereerd door een script, cmdlet of provider, zoals de voortgangsbalken die worden gegenereerd door de cmdlet Write-Progress . De Write-Progress cmdlet maakt voortgangsbalken die de status van een opdracht weergeven. De ProgressAction parameter is toegevoegd in PowerShell 7.4.

De ProgressAction parameter gebruikt een van de ActionPreference opsommingswaarden: SilentlyContinue, , StopContinue, Inquire, , Ignore, , , Suspendof Break.

De geldige waarden zijn als volgt:

  • Break Hiermee voert u het foutopsporingsprogramma in bij een exemplaar van de Write-Progress opdracht.
  • Stop: De voortgangsbalk wordt niet weergegeven. In plaats daarvan wordt een foutbericht weergegeven en wordt de uitvoering gestopt.
  • Inquire: De voortgangsbalk wordt niet weergegeven. Vraagt om toestemming om door te gaan. Als u reageert met Y of A, wordt de voortgangsbalk weergegeven.
  • Continue: (Standaard) Geeft de voortgangsbalk weer en gaat verder met de uitvoering.
  • SilentlyContinue: Hiermee wordt de opdracht uitgevoerd, maar wordt de voortgangsbalk niet weergegeven.
Type: ActionPreference
Aliases: proga
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

-Verbose

Geeft gedetailleerde informatie weer over de bewerking die door de opdracht wordt uitgevoerd. Deze informatie lijkt op de informatie in een tracering of in een transactielogboek. Deze parameter werkt alleen wanneer de opdracht een uitgebreid bericht genereert. Deze parameter werkt bijvoorbeeld wanneer een opdracht de Write-Verbose cmdlet bevat.

Type: SwitchParameter
Aliases: vb
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

De Verbose parameter overschrijft de waarde van de $VerbosePreference variabele voor de huidige opdracht. Omdat de standaardwaarde van de $VerbosePreference variabele is SilentlyContinue, worden uitgebreide berichten niet standaard weergegeven.

  • -Verbose:$true heeft hetzelfde effect als -Verbose
  • -Verbose:$false onderdrukt de weergave van uitgebreide berichten. Gebruik deze parameter wanneer de waarde $VerbosePreference niet SilentlyContinue (de standaardwaarde) is.

-WaarschuwingActie

Bepaalt hoe de cmdlet reageert op een waarschuwing van de opdracht. Continue is de standaardwaarde. Deze parameter werkt alleen wanneer de opdracht een waarschuwingsbericht genereert. Deze parameter werkt bijvoorbeeld wanneer een opdracht de Write-Warning cmdlet bevat.

Type: ActionPreference
Aliases: wa
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

De WarningAction parameter overschrijft de waarde van de $WarningPreference variabele voor de huidige opdracht. Omdat de standaardwaarde van de $WarningPreference variabele is Continue, worden waarschuwingen weergegeven en wordt de uitvoering voortgezet, tenzij u de WarningAction parameter gebruikt.

  • Break voert het foutopsporingsprogramma in wanneer er een waarschuwing optreedt.
  • Continue geeft de waarschuwingsberichten weer en gaat door met het uitvoeren van de opdracht. Continue is de standaardwaarde.
  • Inquire geeft het waarschuwingsbericht weer en vraagt u om bevestiging voordat u doorgaat met de uitvoering. Deze waarde wordt zelden gebruikt.
  • SilentlyContinue onderdrukt het waarschuwingsbericht en gaat door met het uitvoeren van de opdracht.
  • Stop geeft het waarschuwingsbericht weer en stopt met het uitvoeren van de opdracht.

Notitie

De WarningAction parameter overschrijft, maar vervangt de waarde van de $WarningAction voorkeursvariabele niet wanneer de parameter wordt gebruikt in een opdracht om een script of functie uit te voeren.

Waarschuwingsvariabele

Slaat waarschuwingsrecords op over de opdracht in de opgegeven variabele.

Type: String
Aliases: wv
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Alle gegenereerde waarschuwingen worden opgeslagen in de variabele, zelfs als de waarschuwingen niet worden weergegeven aan de gebruiker.

Als u de waarschuwingen aan de inhoud van de variabele wilt toevoegen, typt u een plusteken (+) vóór de naam van de variabele in plaats van eventuele waarschuwingen die daar al zijn opgeslagen, te vervangen.

Met de volgende opdracht wordt bijvoorbeeld de $a variabele gemaakt en worden eventuele waarschuwingen hierin opgeslagen:

Get-Process -Id 6 -WarningVariable a

Met de volgende opdracht worden eventuele waarschuwingen aan de $a variabele toegevoegd:

Get-Process -Id 2 -WarningVariable +a

Met de volgende opdracht wordt de inhoud van $a:

$a

U kunt deze parameter gebruiken om een variabele te maken die alleen waarschuwingen van specifieke opdrachten bevat. U kunt matrix-notatie gebruiken, zoals $a[0] of $warning[1,2] verwijzen naar specifieke waarschuwingen die zijn opgeslagen in de variabele.

Notitie

De waarschuwingsvariabele bevat alle waarschuwingen die door de opdracht worden gegenereerd, inclusief waarschuwingen van aanroepen naar geneste functies of scripts.

Parameters voor risicobeheer

-WhatIf

Geeft een bericht weer waarin het effect van de opdracht wordt beschreven in plaats van de opdracht uit te voeren.

Type: SwitchParameter
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

De WhatIf parameter overschrijft de waarde van de $WhatIfPreference variabele voor de huidige opdracht. Omdat de standaardwaarde van de $WhatIfPreference variabele 0 (uitgeschakeld) is, WhatIf wordt het gedrag niet uitgevoerd zonder de WhatIf parameter. Zie about_Preference_Variables voor meer informatie.

  • $true heeft hetzelfde effect als -WhatIf.
  • $false onderdrukt het automatische WhatIf-gedrag dat resulteert wanneer de waarde van de $WhatIfPreference variabele 1 is.

De volgende opdracht gebruikt bijvoorbeeld de -WhatIf parameter in een Remove-Item opdracht:

Remove-Item Date.csv -WhatIf

In plaats van het item te verwijderen, vermeldt PowerShell de bewerkingen die het zou doen en de items die zouden worden beïnvloed. Met deze opdracht wordt de volgende uitvoer gegenereerd:

What if: Performing operation "Remove File" on
Target "C:\ps-test\date.csv".

-Confirm

Vraagt u om bevestiging voordat u de opdracht uitvoert.

Type: SwitchParameter
Aliases: cf
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

De Confirm parameter overschrijft de waarde van de $ConfirmPreference variabele voor de huidige opdracht. De standaardwaarde is waar. Zie about_Preference_Variables voor meer informatie.

  • $true heeft hetzelfde effect als -Confirm.
  • $false onderdrukt automatische bevestiging, wat optreedt wanneer de waarde $ConfirmPreference kleiner is dan of gelijk is aan het geschatte risico van de cmdlet.

De volgende opdracht gebruikt bijvoorbeeld de Confirm parameter met een Remove-Item opdracht. Voordat u het item verwijdert, vermeldt PowerShell de bewerkingen die het zou doen en de items die zouden worden beïnvloed, en vraagt om goedkeuring.

PS C:\ps-test> Remove-Item tmp*.txt -Confirm

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

De Confirm antwoordopties zijn als volgt:

Respons Resultaat
Yes (Y) Voer de actie uit.
Yes to All (A) Alle acties uitvoeren en volgende onderdrukken Confirm
query's voor deze opdracht.
No (N): Voer de actie niet uit.
No to All (L): Voer geen acties uit en onderdrukt volgende
Confirm query's voor deze opdracht.
Suspend (S): Pauzeer de opdracht en maak een tijdelijke sessie.
Help (?) Help weergeven voor deze opties.

Met Suspend de optie wordt de opdracht in bewaring geplaatst en wordt een tijdelijke geneste sessie gemaakt waarin u kunt werken totdat u klaar bent om een Confirm optie te kiezen. De opdrachtprompt voor de geneste sessie heeft twee extra carets (>>) om aan te geven dat het een onderliggende bewerking van de oorspronkelijke bovenliggende opdracht is. U kunt opdrachten en scripts uitvoeren in de geneste sessie. Als u de geneste sessie wilt beëindigen en wilt terugkeren naar de Confirm opties voor de oorspronkelijke opdracht, typt u 'exit'.

In het volgende voorbeeld wordt de Suspend optie (S) gebruikt om een opdracht tijdelijk te stoppen terwijl de gebruiker de Help voor een opdrachtparameter controleert. Nadat de benodigde informatie is verkregen, typt de gebruiker 'exit' om de geneste prompt te beëindigen en selecteert hij vervolgens het antwoord Ja (y) op de Confirm query.

PS C:\ps-test> New-Item -ItemType File -Name Test.txt -Confirm

Confirm
Are you sure you want to perform this action?

Performing operation "Create File" on Target "Destination:
C:\ps-test\test.txt".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default
is "Y"): s

PS C:\ps-test> Get-Help New-Item -Parameter ItemType

-ItemType <string>
Specifies the provider-specified type of the new item.

Required?                    false
Position?                    named
Default value
Accept pipeline input?       true (ByPropertyName)
Accept wildcard characters?  false

PS C:\ps-test> exit

Confirm
Are you sure you want to perform this action?
Performing operation "Create File" on Target "Destination: C:\ps-test\test
.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (defau
lt is "Y"): y

Directory: C:\ps-test

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         8/27/2010   2:41 PM          0 test.txt

Zie ook