Megerősítés kérése parancsmagoktól
A parancsmagok akkor kérik a megerősítést, amikor a környezeten kívüli rendszert Windows PowerShell módosítani. Ha például egy parancsmag felhasználói fiókot szeretne hozzáadni vagy le szeretne állítani egy folyamatot, a parancsmagnak a folytatás előtt meg kell erősítenie a felhasználótól. Ezzel szemben, ha egy parancsmag módosítani fog egy Windows PowerShell változót, a parancsmagnak nem kell megerősítést igényelni.
A megerősítési kérés igényléséhez a parancsmagnak jeleznie kell, hogy támogatja a megerősítési kéréseket, és meg kell hívnia a System.Management.Automation.Cmdlet.ShouldProcess és a System.Management.Automation.Cmdlet.ShouldContinue (nem kötelező) metódusokat a megerősítést kérő üzenet megjelenítéséhez.
Megerősítő kérések támogatása
A megerősítési kérések támogatásához a parancsmagnak a Parancsmag attribútum paraméterét SupportsShouldProcess
a következőre kell beállítania: true
. Ez engedélyezi a és Confirm
WhatIf
a parancsmag paramétereit, amelyek a Windows PowerShell. A Confirm
paraméterrel a felhasználó szabályozhatja, hogy a megerősítő kérés megjelenik-e. A paraméter lehetővé teszi a felhasználó számára annak megállapítását, hogy a parancsmag megjelenítsen-e WhatIf
üzenetet vagy hajtsa végre a műveletet. Ne adja hozzá manuálisan a Confirm
és WhatIf
a paramétert egy parancsmaghoz.
Az alábbi példa egy parancsmag-attribútumdeklarációt mutat be, amely támogatja a megerősítési kéréseket.
[Cmdlet(VerbsDiagnostic.Test, "RequestConfirmationTemplate1",
SupportsShouldProcess = true)]
A megerősítési kérés metódusának hívása
A parancsmag kódban hívja meg a System.Management.Automation.Cmdlet.ShouldProcess metódust a rendszert módosító művelet előtt. A parancsmagot úgy kell tervezni, hogy ha a hívás értéket ad vissza, a művelet ne legyen hajtva végre, és a parancsmag feldolgozza a false
következő műveletet.
A ShouldContinue metódus hívása
A legtöbb parancsmag csak a System.Management.Automation.Cmdlet.ShouldProcess metódus használatával kér megerősítést. Egyes esetekben azonban további megerősítésre lehet szükség. Ezekben az esetekben egészítse ki a System.Management.Automation.Cmdlet.ShouldProcess hívást a System.Management.Automation.Cmdlet.ShouldContinue metódus hívásával. Ez lehetővé teszi, hogy a parancsmag vagy a szolgáltató pontosabban szabályozni tudja az Igen a megerősítési kérésre adott összes válasz hatókörét.
Ha egy parancsmag a System.Management.Automation.Cmdlet.ShouldContinue metódust hívja meg, a parancsmagnak egy kapcsolóparamétert is meg kell Force
adnia. Ha a felhasználó megadja, hogy a felhasználó mikor hívja meg a parancsmagot, a parancsmagnak továbbra is meg kell hívnia a Force
System.Management.Automation.Cmdlet.ShouldProcessmetódust, de meg kell kerülnie a System.Management.Automation.Cmdlet.ShouldContinuehívását.
A System.Management.Automation.Cmdlet.ShouldContinue kivételt ad vissza, amikor nem interaktív környezetből hívják meg, ahol a felhasználó nem kérhető. A paraméter hozzáadása biztosítja, hogy a parancs akkor is elvégezhető legyen, ha nem interaktív környezetben Force
hívja meg.
Az alábbi példa bemutatja, hogyan hívható meg a System.Management.Automation.Cmdlet.ShouldProcess és a System.Management.Automation.Cmdlet.ShouldContinue.
if (ShouldProcess (...) )
{
if (Force || ShouldContinue(...))
{
// Add code that performs the operation.
}
}
A System.Management.Automation.Cmdlet.ShouldProcess hívás viselkedése a parancsmag meghívásának környezetétől függően változhat. Az előző irányelvek segítségével biztosíthatja, hogy a parancsmag konzisztensen viselkedjen más parancsmagokkal, a gazdakörnyezettől függetlenül.
A System.Management.Automation.Cmdlet.ShouldProcess metódus hívására vonatkozó példáért lásd: Megerősítés kérése.
A hatásszint megadása
A parancsmag létrehozásakor adja meg a módosítás hatásszintét (súlyosságát). Ehhez állítsa a Parancsmag attribútum paraméterének értékét ConfirmImpact
Magas, Közepes vagy Alacsony értékre. A értékét csak akkor adhatja meg, ha a parancsmag paraméterét ConfirmImpact
SupportsShouldProcess
is megadja.
A legtöbb parancsmaghoz nem kell explicit módon megadnia a ConfirmImpact
értéket. Ehelyett használja a paraméter alapértelmezett beállítását, amely Közepes. Ha a Magas értéket adja meg, a rendszer alapértelmezés szerint ConfirmImpact
megerősíti a műveletet. Ezt a beállítást nagy mértékben zavaró műveletekhez, például merevlemez-kötet újraformálálása esetén foglalhatja le.
Nem megerősítő metódusok hívása
Ha a parancsmagnak vagy a szolgáltatónak üzenetet kell küldenie, de nem kell megerősítést kérnie, a következő három metódust hívhatja meg. Kerülje a System.Management.Automation.Cmdlet.WriteObject metódust az ilyen típusú üzenetek küldésére, mert a System.Management.Automation.Cmdlet.WriteObject kimenete a parancsmag vagy a szolgáltató normál kimenetével van megszűkülve, ami megnehezíti a szkriptírást.
A felhasználó figyelmeztetése és a művelet folytatása érdekében a parancsmag vagy a szolgáltató hívhatja a System.Management.Automation.Cmdlet.WriteWarning metódust.
A felhasználó által a paraméterrel lekérhető további információk megadása érdekében a parancsmag vagy a szolgáltató
Verbose
a System.Management.Automation.Cmdlet.WriteVerbose metódust hívhatja meg.Annak érdekében, hogy hibakeresési szintű részleteket biztosítson más fejlesztők vagy terméktámogatás esetén, a parancsmag vagy szolgáltató hívhatja a System.Management.Automation.Cmdlet.WriteDebug metódust. A felhasználó a paraméterrel lekérheti ezt az
Debug
információt.
A parancsmagok és a szolgáltatók először a következő metódusokat hívják meg a megerősítés kéréséhez, mielőtt megkísérelnek végrehajtani egy olyan műveletet, amely a rendszeren kívül Windows PowerShell:
Ezt a System.Management.Automation.Cmdlet.Shouldprocess metódus meghívásával ják meg, amely a művelet megerősítését kéri a felhasználótól a parancs meghívásának módja alapján.
Lásd még:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: