Megerősítés kérése

Ez a példa bemutatja, hogyan hívhatja meg a System.Management.Automation.Cmdlet.ShouldProcess és a System.Management.Automation.Cmdlet.ShouldContinue metódusokat, hogy megerősítést kérjenek a felhasználótól a művelet előtt.

Fontos

További információ arról, hogy a Windows PowerShell hogyan kezeli ezeket a kéréseket: Megerősítés kérése.

Megerősítés kérése

  1. Győződjön meg arról, hogy a SupportsShouldProcess Parancsmag attribútum paramétere a következőre van beállítva: true . (A függvények számára ez a CmdletBinding attribútum paramétere.)

    [Cmdlet(VerbsDiagnostic.Test, "RequestConfirmationTemplate1",
            SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)]
    

    Megjegyzés

    Az önmagában való használat nem garantálja, hogy a rendszer megerősítést SupportsShouldProcess kér a felhasználótól. A kérést a értéke és $ConfirmPreference a művelet hatása határozza meg. A ConfirmImpact művelet hatásának súlyosságát a használatával állíthatja be.

  2. Adjon hozzá egy paramétert a Force parancsmaghoz, hogy a felhasználó felülbírálni tudja a megerősítési kérést.

    [Parameter()]
    public SwitchParameter Force
    {
      get { return force; }
      set { force = value; }
    }
    private bool force;
    
  3. Adjon hozzá egy utasítást, amely a if System.Management.Automation.Cmdlet.ShouldProcess metódus visszatérési értékét használja annak megállapításához, hogy a System.Management.Automation.Cmdlet.ShouldContinue metódus van-e meghívva.

  4. Adjon hozzá egy második utasítást, amely a if System.Management.Automation.Cmdlet.ShouldContinue metódus visszatérési értékét és a paraméter értékét használja a művelet Force végrehajtásához.

Példa

A következő példakódban a System.Management.Automation.Cmdlet.ShouldProcess és a System.Management.Automation.Cmdlet.ShouldContinue metódusok a System.Management.Automation.Cmdlet.ProcessRecord metódus felülbírálásán belülről vannak meghívva. Ezeket a metódusokat azonban más bemeneti feldolgozási módszerekből is meg lehet hívni.

protected override void ProcessRecord()
{
  if (ShouldProcess("ShouldProcess target"))
  {
    if (Force || ShouldContinue("", ""))
    {
      // Add code that performs the operation.
    }
  }
}

Lásd még:

Windows PowerShell-parancsmag írása