PSCmdlet Class

Definition

Defines members and overrides used by Cmdlets. All Cmdlets must derive from Cmdlet.

public ref class PSCmdlet abstract : System::Management::Automation::Cmdlet
public abstract class PSCmdlet : System.Management.Automation.Cmdlet
type PSCmdlet = class
    inherit Cmdlet
Public MustInherit Class PSCmdlet
Inherits Cmdlet
Inheritance
Derived

Remarks

There are two ways to create a Cmdlet: by deriving from the Cmdlet base class, and by deriving from the PSCmdlet base class. The Cmdlet base class is the primary means by which users create their own Cmdlets. Extending this class provides support for the most common functionality, including object output and record processing. If your Cmdlet requires access to the PowerShell Runtime (for example, variables in the session state, access to the host, or information about the current Cmdlet Providers,) then you should instead derive from the PSCmdlet base class. The public members defined by the PSCmdlet class are not designed to be overridden; instead, they provided access to different aspects of the PowerShell runtime. In both cases, users should first develop and implement an object model to accomplish their task, extending the Cmdlet or PSCmdlet classes only as a thin management layer.

Constructors

PSCmdlet()

Initializes the new instance of PSCmdlet class.

Properties

CommandOrigin

This property tells you if you were being invoked inside the runspace or if it was an external request.

(Inherited from InternalCommand)
CommandRuntime

Holds the command runtime object for this command. This object controls what actually happens when a write is called.

(Inherited from Cmdlet)
CurrentPSTransaction

Gets an object that surfaces the current PowerShell transaction. When this object is disposed, PowerShell resets the active transaction.

(Inherited from Cmdlet)
Events

Gets the event manager for the current runspace.

Host

Gets the host interaction APIs.

InvokeCommand

Provides access to utility routines for executing scripts and creating script blocks.

InvokeProvider

Gets the instance of the provider interface APIs for the current runspace.

JobManager

Manager for JobSourceAdapters registered.

JobRepository

Repository for jobs.

MyInvocation

Contains information about the identity of this cmdlet and how it was invoked.

PagingParameters

If the cmdlet declares paging support (via SupportsPaging), then PagingParameters property contains arguments of the paging parameters. Otherwise PagingParameters property is null.

ParameterSetName

The name of the parameter set in effect.

SessionState

Gets the instance of session state for the current runspace.

Stopping

Is this command stopping?

(Inherited from Cmdlet)

Methods

BeginProcessing()

When overridden in the derived class, performs initialization of command execution. Default implementation in the base class just returns.

(Inherited from Cmdlet)
CurrentProviderLocation(String)
EndProcessing()

When overridden in the derived class, performs clean-up after the command execution. Default implementation in the base class just returns.

(Inherited from Cmdlet)
GetResolvedProviderPathFromPSPath(String, ProviderInfo)
GetResourceString(String, String)

Gets the resource string corresponding to baseName and resourceId from the current assembly. You should override this if you require a different behavior.

(Inherited from Cmdlet)
GetUnresolvedProviderPathFromPSPath(String)
GetVariableValue(String)
GetVariableValue(String, Object)
Invoke()

Invoke this cmdlet object returning a collection of results.

(Inherited from Cmdlet)
Invoke<T>()

Returns a strongly-typed enumerator for the results of this cmdlet.

(Inherited from Cmdlet)
ProcessRecord()

When overridden in the derived class, performs execution of the command.

(Inherited from Cmdlet)
ShouldContinue(String, String)

Confirm an operation or grouping of operations with the user. This differs from ShouldProcess in that it is not affected by preference settings or command-line parameters, it always does the query. This variant only offers Yes/No, not YesToAll/NoToAll.

(Inherited from Cmdlet)
ShouldContinue(String, String, Boolean, Boolean)

Confirm an operation or grouping of operations with the user. This differs from ShouldProcess in that it is not affected by preference settings or command-line parameters, it always does the query. This variant offers Yes, No, YesToAll and NoToAll.

(Inherited from Cmdlet)
ShouldContinue(String, String, Boolean, Boolean, Boolean)

Confirm an operation or grouping of operations with the user. This differs from ShouldProcess in that it is not affected by preference settings or command-line parameters, it always does the query. This variant offers Yes, No, YesToAll and NoToAll.

(Inherited from Cmdlet)
ShouldProcess(String)

Confirm the operation with the user. Cmdlets which make changes (e.g. delete files, stop services etc.) should call ShouldProcess to give the user the opportunity to confirm that the operation should actually be performed.

(Inherited from Cmdlet)
ShouldProcess(String, String)

Confirm the operation with the user. Cmdlets which make changes (e.g. delete files, stop services etc.) should call ShouldProcess to give the user the opportunity to confirm that the operation should actually be performed.

This variant allows the caller to specify text for both the target resource and the action.

(Inherited from Cmdlet)
ShouldProcess(String, String, String)

Confirm the operation with the user. Cmdlets which make changes (e.g. delete files, stop services etc.) should call ShouldProcess to give the user the opportunity to confirm that the operation should actually be performed.

This variant allows the caller to specify the complete text describing the operation, rather than just the name and action.

(Inherited from Cmdlet)
ShouldProcess(String, String, String, ShouldProcessReason)

Confirm the operation with the user. Cmdlets which make changes (e.g. delete files, stop services etc.) should call ShouldProcess to give the user the opportunity to confirm that the operation should actually be performed.

This variant allows the caller to specify the complete text describing the operation, rather than just the name and action.

(Inherited from Cmdlet)
StopProcessing()

When overridden in the derived class, interrupts currently running code within the command. It should interrupt BeginProcessing, ProcessRecord, and EndProcessing. Default implementation in the base class just returns.

(Inherited from Cmdlet)
ThrowTerminatingError(ErrorRecord)

Terminate the command and report an error.

(Inherited from Cmdlet)
TransactionAvailable()

Returns true if a transaction is available and active.

(Inherited from Cmdlet)
WriteCommandDetail(String)

Write text into pipeline execution log.

(Inherited from Cmdlet)
WriteDebug(String)

Display debug information.

(Inherited from Cmdlet)
WriteError(ErrorRecord)

Internal variant: Writes the specified error to the error pipe.

(Inherited from Cmdlet)
WriteInformation(InformationRecord)

Route information to the user or host.

(Inherited from Cmdlet)
WriteInformation(Object, String[])

Route information to the user or host.

(Inherited from Cmdlet)
WriteObject(Object)

Writes the object to the output pipe.

(Inherited from Cmdlet)
WriteObject(Object, Boolean)

Writes one or more objects to the output pipe. If the object is a collection and the enumerateCollection flag is true, the objects in the collection will be written individually.

(Inherited from Cmdlet)
WriteProgress(ProgressRecord)

Display progress information.

(Inherited from Cmdlet)
WriteVerbose(String)

Display verbose information.

(Inherited from Cmdlet)
WriteWarning(String)

Display warning information.

(Inherited from Cmdlet)

Applies to

See also