Begära bekräftelser
Det här exemplet visar hur du anropar metoderna System.Management.Automation.Cmdlet.ShouldProcess och System.Management.Automation.Cmdlet.ShouldContinue för att begära bekräftelser från användaren innan en åtgärd vidtas.
Viktigt
Mer information om hur du Windows PowerShell dessa begäranden finns i Begära bekräftelse.
Så här begär du bekräftelse
Kontrollera att
SupportsShouldProcessparametern för cmdlet-attributet är inställd påtrue. (För funktioner är detta en parameter för attributet CmdletBinding.)[Cmdlet(VerbsDiagnostic.Test, "RequestConfirmationTemplate1", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)]Anteckning
Enbart
SupportsShouldProcessanvändning garanterar inte att användaren uppmanas att bekräfta. Uppmaningen bestäms av värdet av$ConfirmPreferenceoch effekten av åtgärden. AnvändConfirmImpactför att ange allvarlighetsgraden för effekten av åtgärden.Lägg till
Forceen parameter i cmdleten så att användaren kan åsidosätta en bekräftelsebegäran.[Parameter()] public SwitchParameter Force { get { return force; } set { force = value; } } private bool force;Lägg till en -instruktion som använder returvärdet för metoden
ifSystem.Management.Automation.Cmdlet.ShouldProcess för att avgöra om metoden System.Management.Automation.Cmdlet.ShouldContinue anropas.Lägg till en andra -instruktion som använder returvärdet för metoden
ifSystem.Management.Automation.Cmdlet.ShouldContinue och värdet för parametern för att avgöra om åtgärdenForceska utföras.
Exempel
I följande kodexempel anropas metoderna System.Management.Automation.Cmdlet.ShouldProcess och System.Management.Automation.Cmdlet.ShouldContinue inifrån åsidosättningen av metoden System.Management.Automation.Cmdlet.ProcessRecord. Du kan dock även anropa dessa metoder från de andra indatabearbetningsmetoderna.
protected override void ProcessRecord()
{
if (ShouldProcess("ShouldProcess target"))
{
if (Force || ShouldContinue("", ""))
{
// Add code that performs the operation.
}
}
}
Se även
Feedback
Skicka och visa feedback för