Cmdlet, deklaracja atrybutu
Atrybut cmdlet identyfikuje klasę programu Microsoft .NET Framework jako polecenie cmdlet i określa czasownik i czasownik używany do wywoływania polecenia cmdlet.
Składnia
[Cmdlet("verbName", "nounName")]
[Cmdlet("verbName", "nounName", Named Parameters...)]
Parametry
VerbName
( wymaganeSystem.String). Określa zlecenie cmdlet. To zlecenie określa akcję podjętą przez polecenie cmdlet. Aby uzyskać więcej informacji na temat zatwierdzonych czasowników poleceń cmdlet, zobacz Cmdlet Verb Names and Required Development Guidelines.
NounName
( wymaganeSystem.String). Określa noun polecenia cmdlet. Ten noun określa zasób, na który działa polecenie cmdlet. Aby uzyskać więcej informacji na temat rzeczowników poleceń cmdlet, zobacz deklaracji poleceń cmdlet i Zdecydowanie zachęcane wytyczne programistyczne.
SupportsShouldProcess
(System.Boolean) Opcjonalny nazwany parametr.
True
wskazuje, że polecenie cmdlet obsługuje wywołania metody System.Management.Automation.Cmdlet.ShouldProcess, która udostępnia polecenie cmdlet w celu monitowania użytkownika przed wykonaniem akcji, która spowoduje zmianę systemu.
False
wartość domyślna wskazuje, że polecenie cmdlet nie obsługuje wywołań do metody System.Management.Automation.Cmdlet.ShouldProcess. Aby uzyskać więcej informacji na temat żądań potwierdzenia, zobacz Żądanie potwierdzenia.
ConfirmImpact
(System.Management.Automation.ConfirmImpact) Opcjonalny nazwany parametr. Określa, kiedy akcja polecenia cmdlet powinna zostać potwierdzona przez wywołanie metody System.Management.Automation.Cmdlet.ShouldProcess.
System.Management.Automation.Cmdlet.ShouldProcess będą wywoływane tylko wtedy, gdy wartość ConfirmImpact polecenia cmdlet (domyślnie Średnia) jest równa lub większa niż wartość zmiennej $ConfirmPreference
. Ten parametr należy określić tylko wtedy, gdy określono parametr SupportsShouldProcess
.
DefaultParameterSetName
(System.String) Opcjonalny nazwany parametr. Określa domyślny zestaw parametrów, którego środowisko uruchomieniowe programu Windows PowerShell próbuje użyć, gdy nie może określić, który parametr ma być używany. Zauważ, że tę sytuację można wyeliminować, tworząc unikatowy parametr każdego parametru ustawiając obowiązkowy parametr.
Istnieje jeden przypadek, w którym program Windows PowerShell nie może użyć domyślnego zestawu parametrów, nawet jeśli określono domyślną nazwę zestawu parametrów. Środowisko uruchomieniowe programu Windows PowerShell nie może odróżnić zestawów parametrów wyłącznie na podstawie typu obiektu. Jeśli na przykład masz jeden zestaw parametrów, który przyjmuje ciąg jako ścieżkę pliku, a drugi zestaw, który pobiera obiekt FileInfo bezpośrednio, program Windows PowerShell nie może określić, który parametr ma być używany na podstawie wartości przekazanych do polecenia cmdlet, ani nie używa domyślnego zestawu parametrów. W takim przypadku, nawet jeśli określisz domyślną nazwę zestawu parametrów, program Windows PowerShell zgłasza niejednoznaczny komunikat o błędzie zestawu parametrów.
SupportsTransactions
(System.Boolean) Opcjonalny nazwany parametr.
True
wskazuje, że polecenie cmdlet może być używane w ramach transakcji. Po określeniu True
środowisko uruchomieniowe programu Windows PowerShell dodaje parametr UseTransaction
do listy parametrów polecenia cmdlet.
False
wartość domyślna wskazuje, że nie można użyć polecenia cmdlet w ramach transakcji.
Uwagi
Razem czasownik i czasownik są używane do identyfikowania zarejestrowanego polecenia cmdlet i wywoływania polecenia cmdlet w skrycie.
Po wywołaniu polecenia cmdlet z konsoli programu Windows PowerShell polecenie przypomina następujące polecenie:
VerbName-NounName
- Wszystkie polecenia cmdlet, które zmieniają zasoby poza programem Windows PowerShell, powinny zawierać słowo kluczowe
SupportsShouldProcess
po zadeklarowaniu atrybutu cmdlet, co umożliwia wywołanie polecenia cmdlet System.Management.Automation.Cmdlet.ShouldProcess metody przed wykonaniem akcji polecenia cmdlet. Jeśli wywołanie System.Management.Automation.Cmdlet.ShouldProcess zwrócifalse
, nie należy podejmować akcji. Aby uzyskać więcej informacji na temat żądań potwierdzenia generowanych przez wywołanie System.Management.Automation.Cmdlet.ShouldProces s, zobacz Żądanie potwierdzenia.
Parametry polecenia cmdlet Confirm
i WhatIf
są dostępne tylko dla poleceń cmdlet obsługujących wywołania System.Management.Automation.Cmdlet.ShouldProcess.
Przykład
Poniższa definicja klasy używa atrybutu cmdlet do identyfikowania klasy .NET Framework dla polecenia cmdlet Get-Proc, które pobiera informacje o procesach uruchomionych na komputerze lokalnym.
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet
Aby uzyskać więcej informacji o get-Proc cmdlet, zobacz GetProc Tutorial.