Bevestigingen aanvragen
In dit voorbeeld ziet u hoe u de methoden System.Management.Automation.Cmdlet.ShouldProcess en System.Management.Automation.Cmdlet.ShouldContinue aanroept om bevestigingen van de gebruiker aan te vragen voordat een actie wordt uitgevoerd.
Belangrijk
Zie Bevestiging aanvragen voor Windows PowerShell informatie over hoe deze aanvragen worden verwerkt.
Bevestiging aanvragen
Zorg ervoor dat
SupportsShouldProcessde parameter van het kenmerk Cmdlet is ingesteld optrue. (Voor functies is dit een parameter van het kenmerk CmdletBinding.)[Cmdlet(VerbsDiagnostic.Test, "RequestConfirmationTemplate1", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)]Notitie
Het
SupportsShouldProcessgebruik van alleen biedt geen garantie dat de gebruiker om bevestiging wordt gevraagd. Vragen wordt bepaald door de waarde van$ConfirmPreferenceen de impact van uw actie. GebruikConfirmImpactom de ernst van de impact van uw bewerking in te stellen.Voeg een
Forceparameter toe aan uw cmdlet, zodat de gebruiker een bevestigingsaanvraag kan overschrijven.[Parameter()] public SwitchParameter Force { get { return force; } set { force = value; } } private bool force;Voeg een instructie toe die gebruikmaakt van de retourwaarde van de methode
ifSystem.Management.Automation.Cmdlet.ShouldProcess om te bepalen of de methode System.Management.Automation.Cmdlet.ShouldContinue wordt aangeroepen.Voeg een tweede instructie toe die gebruikmaakt van de retourwaarde van de methode
ifSystem.Management.Automation.Cmdlet.ShouldContinue en de waarde van de parameter om te bepalen of de bewerking moet wordenForceuitgevoerd.
Voorbeeld
In het volgende codevoorbeeld worden de methoden System.Management.Automation.Cmdlet.ShouldProcess en System.Management.Automation.Cmdlet.ShouldContinue aangeroepen vanuit de overschrijvingen van de methode System.Management.Automation.Cmdlet.ProcessRecord. U kunt deze methoden echter ook aanroepen vanuit de andere invoerverwerkingsmethoden.
protected override void ProcessRecord()
{
if (ShouldProcess("ShouldProcess target"))
{
if (Force || ShouldContinue("", ""))
{
// Add code that performs the operation.
}
}
}
Zie ook
Feedback
Feedback verzenden en weergeven voor