Microsoft.PowerShell.Commands Namespace

Classes

AddContentCommand

A command that appends the specified content to the item at the specified path.

AddHistoryCommand

This class Implements the add-history command

AddMemberCommand

This class implements get-member command.

AddPSSnapinCommand

Class that implements add-pssnapin cmdlet.

AddTypeCommand

Adds a new type to the Application Domain. This version is based on CodeAnalysis (Roslyn).

AddTypeCommandBase

Base class that contains logic for Add-Type cmdlet based on

  • CodeDomProvider
  • CodeAnalysis(Roslyn)
AddTypeCompilerError

Compile error or warning.

AliasProvider

This provider is the data accessor for shell aliases. It uses the SessionStateProviderBase as the base class to produce a view on session state data.

AliasProviderDynamicParameters

The dynamic parameter object for the AliasProvider SetItem and NewItem commands

AlternateStreamData

Represents alternate stream data retrieved from a file.

BaseCsvWritingCommand

This class implements the base for exportcsv and converttocsv commands

BasicHtmlWebResponseObject

Response object for html content without DOM parsing

ByteCollection

ByteCollection is used as a wrapper class for the collection of bytes.

CatalogCommandsBase

Defines the base class from which all catalog commands are derived.

CertificateNotFoundException

Defines the exception thrown by the certificate provider when the specified X509 certificate cannot be located.

CertificateProvider

Defines the implementation of a Certificate Store Provider. This provider allows for stateless namespace navigation of the computer's certificate store.

CertificateProviderItemNotFoundException

Defines the base class for exceptions thrown by the certificate provider when the specified item cannot be located.

CertificateStoreLocationNotFoundException

Defines the exception thrown by the certificate provider when the specified X509 store location cannot be located.

CertificateStoreNotFoundException

Defines the exception thrown by the certificate provider when the specified X509 store cannot be located.

ClearContentCommand

A command that appends the specified content to the item at the specified path.

ClearHistoryCommand

This Class implements the Clear History cmdlet

ClearItemCommand

Clears an item at the specified location

ClearItemPropertyCommand

A command to clear the value of a property of an item at a specified path

ClearVariableCommand

This class implements set-variable command

CommonRunspaceCommandBase

Abstract class that defines common Runspace Command parameters.

CompareObjectCommand
ComputerChangeInfo

The object returned by SAM Computer cmdlets representing the status of the target machine.

ComputerInfo

The ComputerInfo class is output to the PowerShell pipeline.

ConnectPSSessionCommand

This cmdlet connects PS sessions (RemoteRunspaces) that are in the Disconnected state and returns those PS session objects in the Opened state. One or more session objects can be specified for connecting, or a remote computer name can be specified and in this case all disconnected remote runspaces found on the remote computer will be be connected and PSSession objects created on the local machine.

The cmdlet can be used in the following ways:

Connect a PS session object: > $session = New-PSSession serverName > Disconnect-PSSession $session > Connect-PSSession $session

Connect a PS session by name: > Connect-PSSession $session.Name

Connect a PS session by Id: > Connect-PSSession $session.Id

Connect a collection of PS session: > Get-PSSession | Connect-PSSession

Connect all disconnected PS sessions on a remote computer > Connect-PSSession serverName

ConsoleCmdletsBase

Base class for all the Console related cmdlets.

ConsoleColorCmdlet

Base class for a variety of commandlets that take color parameters

ContentCommandBase

The base class for the */content commands

ConvertFromCsvCommand

Implements ConvertFrom-Csv command

ConvertFromJsonCommand

The ConvertFrom-Json command This command convert a Json string representation to a JsonObject

ConvertFromSecureStringCommand

Defines the implementation of the 'ConvertFrom-SecureString' cmdlet. This cmdlet exports a new SecureString -- one that represents text that should be kept confidential. The text is encrypted for privacy when being used, and deleted from computer memory when no longer needed. When no key is specified, the command uses the DPAPI to encrypt the string. When a key is specified, the command uses the AES algorithm to encrypt the string.

ConvertFromStringDataCommand

Class comment

ConvertFromToSecureStringCommandBase

Defines the base class from which all SecureString import and export commands are derived.

ConvertPathCommand

A command to convert a drive qualified or provider qualified path to a provider internal path.

ConvertToCsvCommand

Implements ConvertTo-Csv command

ConvertToHtmlCommand

Class comment

ConvertToJsonCommand

The ConvertTo-Json command This command convert an object to a Json string representation

ConvertToSecureStringCommand

Defines the implementation of the 'ConvertTo-SecureString' cmdlet. This cmdlet imports a new SecureString from encrypted data -- one that represents text that should be kept confidential. The text is encrypted for privacy when being used, and deleted from computer memory when no longer needed. When no key is specified, the command uses the DPAPI to decrypt the data. When a key is specified, the command uses the AES algorithm to decrypt the data.

ConvertToXmlCommand

implementation for the convertto-xml command

CopyItemCommand

Copies a specified item to a new location using the namespace providers

CopyItemPropertyCommand

A command to copy a property on an item.

CoreCommandBase

The base command for the core commands.

CoreCommandWithCredentialsBase

The base class for core commands to extend when they require credentials to be passed as parameters.

DebugJobCommand

This cmdlet takes a Job object and checks to see if it is debuggable. If it is debuggable then it breaks into the job debugger in step mode. If it is not debuggable then it is treated as a parent job and each child job is checked if it is debuggable and if it is will break into its job debugger in step mode. For multiple debuggable child jobs, each job execution will be halted and the debugger will step to each job execution point sequentially.

When a job is debugged its output data is written to host and the executing job script will break into the host debugger, in step mode, at the next stoppable execution point.

DebugProcessCommand

This class implements the Debug-process command

DebugRunspaceCommand

This cmdlet takes a Runspace object and checks to see if it is debuggable (i.e, if it is running a script or is currently stopped in the debugger. If it is debuggable then it breaks into the Runspace debugger in step mode.

DeviceGuard

Provides information about Device Guard

DisablePSBreakpointCommand

This class implements Disable-PSBreakpoint

DisablePSRemotingCommand

Disable-PSRemoting cmdlet Only disable the network access to the Session Configuration. The local access is still enabled

DisablePSSessionConfigurationCommand
DisableRunspaceDebugCommand

This cmdlet disables Runspace debugging in selected Runspaces.

DisconnectPSSessionCommand

This cmdlet disconnects PS sessions (RemoteRunspaces) that are in the Opened state and returns the PS session objects in the Disconnected state. While the PS sessions are in the disconnected state no commands can be invoked on them and any existing remote running commands will not return any data. The PS sessions can be reconnected by using the Connect-PSSession cmdlet.

The cmdlet can be used in the following ways:

Disconnect a PS session object: > $session = New-PSSession serverName > Disconnect-PSSession $session

Disconnect a PS session by name: > Disconnect-PSSession -Name $session.Name

Disconnect a PS session by Id: > Disconnect-PSSession -Id $session.Id

Disconnect a collection of PS sessions: > Get-PSSession | Disconnect-PSSession

DnsNameProperty

class for DNSNameList

DriveMatchingCoreCommandBase

Base class for Drive commands that need to glob drives on both the drive name and the provider name.

EnablePSBreakpointCommand

This class implements Enable-PSBreakpoint

EnablePSRemotingCommand
EnablePSSessionConfigurationCommand

Class implementing Enable-PSSessionConfiguration cmdlet

EnableRunspaceDebugCommand

This cmdlet enables debugging for selected runspaces in the current or specified process.

EnhancedKeyUsageProperty

class for ekulist

EnterPSHostProcessCommand

This cmdlet enters into an interactive session with the specified local process by creating a remote runspace to the process and pushing it on the current PSHost. If the selected process does not contain PowerShell then an error message will result. If the current user does not have sufficient privileges to attach to the selected process then an error message will result.

EnterPSSessionCommand

Enter-PSSession cmdlet.

EnvironmentProvider

This provider is the data accessor for environment variables. It uses the SessionStateProviderBase as the base class to produce a view on session state data.

ExitPSHostProcessCommand

This cmdlet exits an interactive session with a local process.

ExitPSSessionCommand

Exit-PSSession cmdlet.

ExportAliasCommand

The implementation of the "export-alias" cmdlet

ExportClixmlCommand

implementation for the Export-Clixml command

ExportConsoleCommand

Class that implements export-console cmdlet.

ExportCounterCommand
ExportCsvCommand

implementation for the export-csv command

ExportFormatDataCommand

Cmdlet used to write a collection of formatting directives to an XML file

ExportModuleMemberCommand

Implements a cmdlet that loads a module

ExportPSSessionCommand

This class implements Export-PSSession cmdlet. Spec: TBD

FileHashInfo

FileHashInfo class contains information about a file hash

FileSystemClearContentDynamicParameters

Defines the dynamic parameters used by the Clear-Content cmdlet.

FileSystemContentDynamicParametersBase

Defines the dynamic parameters used by both the content reader and writer.

FileSystemContentReaderDynamicParameters

Defines the dynamic parameters used by the get-content cmdlet.

FileSystemContentWriterDynamicParameters

Defines the dynamic parameters used by the set-content and add-content cmdlets.

FileSystemItemProviderDynamicParameters

Provides the dynamic parameters for test-path on the file system.

FileSystemProvider

The FileSystemProvider provides stateless namespace navigation of the file system.

FileSystemProviderGetItemDynamicParameters

Provides the dynamic parameters for Get-Item on the file system.

FileSystemProviderRemoveItemDynamicParameters

Provides the dynamic parameters for Remove-Item on the file system.

ForEachObjectCommand

Implements a cmdlet that applies a script block to each element of the pipeline.

FormatCustomCommand

implementation for the format-custom command. It just calls the formatting engine on complex shape

FormatDefaultCommand

implementation for the format-default command

FormatHex

Displays the hexidecimal equivalent of the input data.

FormatListCommand

implementation for the format-table command

FormatTableCommand

implementation for the format-table command

FormatWideCommand

implementation for the format-table command

FormObject

FormObject used in HtmlWebResponseObject

FormObjectCollection

FormObjectCollection used in HtmlWebResponseObject

FunctionProvider

This provider is the data accessor for shell functions. It uses the SessionStateProviderBase as the base class to produce a view on session state data.

FunctionProviderDynamicParameters

The dynamic parameter object for the FunctionProvider SetItem and NewItem commands

GenericMeasureInfo

Class output by Measure-Object

GenericObjectMeasureInfo

Class output by Measure-Object.

GetAclCommand

Defines the implementation of the 'get-acl' cmdlet. This cmdlet gets the security descriptor of an item at the specified path.

GetAliasCommand

The implementation of the "get-alias" cmdlet

GetAuthenticodeSignatureCommand

Defines the implementation of the 'get-AuthenticodeSignature' cmdlet. This cmdlet extracts the digital signature from the given file.

GetChildItemCommand

The get-childitem command class. This command lists the contents of a container

GetCmsMessageCommand

Defines the implementation of the 'Get-CmsMessage' cmdlet.

This cmdlet retrieves information about an encrypted CMS message.

GetCommandCommand

The get-command cmdlet. It uses the command discovery APIs to find one or more commands of the given name. It returns an instance of CommandInfo for each command that is found.

GetComputerInfoCommand

The Get=ComputerInfo cmdlet gathers and reports information about a computer.

GetContentCommand

A command to get the content of an item at a specified path

GetCounterCommand
GetCredentialCommand

Defines the implementation of the 'get-credential' cmdlet. The get-credential Cmdlet establishes a credential object called a Msh credential, by pairing a given username with a prompted password. That credential object can then be used for other operations involving security.

GetCultureCommand

Returns the thread's current culture.

GetDateCommand

implementation for the get-date command

GetEventCommand

Gets events from the event queue.

GetEventPSSnapIn
GetEventSubscriberCommand

Lists all event subscribers.

GetExecutionPolicyCommand

Defines the implementation of the 'Get-ExecutionPolicy' cmdlet. This cmdlet gets the effective execution policy of the shell.

In priority-order (highest priority first,) these come from:

  • Machine-wide Group Policy
  • Current-user Group Policy
  • Current session preference
  • Current user machine preference
  • Local machine preference
GetFileHashCommand

This class implements Get-FileHash

GetFormatDataCommand

Gets formatting information from the loading format information database

GetHelpCodeMethods

Helper methods used as powershell extension from a types file.

GetHelpCommand

This class implements get-help command

GetHistoryCommand

This class Implements the get-history command

GetHostCommand

Writes the PSHost object to the success stream

GetItemCommand

Gets the specified item using the namespace providers.

GetItemPropertyCommand

A command to get the property of an item at a specified path

GetItemPropertyValueCommand

A command to get the property value of an item at a specified path.

GetJobCommand

Cmdlet to get available list of results

GetLocationCommand

The get-location command class. This command does things like list the contents of a container, get an item at a given path, get the current working directory, etc.

GetMemberCommand

This class implements get-member command.

GetModuleCommand

Implements a cmdlet that gets the list of loaded modules...

GetPfxCertificateCommand

Defines the implementation of the get-pfxcertificate cmdlet

GetProcessCommand

This class implements the get-process command

GetPSBreakpointCommand

This class implements Remove-PSBreakpoint

GetPSCallStackCommand

This class implements Get-PSCallStack.

GetPSDriveCommand

Gets a specified or listing of drives that are mounted in the Monad namespace.

GetPSHostProcessInfoCommand

This cmdlet returns a collection of PSHostProcessInfo objects containing process and AppDomain name information for processes that have PowerShell loaded.

GetPSProviderCommand

Gets a core command provider by name

GetPSSessionCapabilityCommand

Gets the capabilities of a constrained endpoint on the local machine for a specific user.

GetPSSessionCommand

This cmdlet is used to retrieve runspaces from the global cache and write it to the pipeline. The runspaces are wrapped and returned as PSSession objects.

The cmdlet can be used in the following ways:

List all the available runspaces get-pssession

Get the PSSession from session name get-pssession -Name sessionName

Get the PSSession for the specified ID get-pssession -Id sessionId

Get the PSSession for the specified instance Guid get-pssession -InstanceId sessionGuid

Get PSSessions from remote computer. Optionally filter on state, session instanceid or session name. get-psession -ComputerName computerName -StateFilter Disconnected

Get PSSessions from virtual machine. Optionally filter on state, session instanceid or session name. get-psession -VMName vmName -Name sessionName

Get PSSessions from container. Optionally filter on state, session instanceid or session name. get-psession -ContainerId containerId -InstanceId instanceId

GetPSSessionConfigurationCommand

Class implementing Get-PSSessionConfiguration

GetPSSnapinCommand

Class that implements get-pssnapin cmdlet.

GetRandomCommand

This class implements get-random cmdlet.

GetRunspaceCommand

This cmdlet returns runspaces in the PowerShell session.

GetRunspaceDebugCommand

This cmdlet returns a PSRunspaceDebug object for each found Runspace object.

GetServiceCommand

This class implements the get-service command

GetTimeZoneCommand

A cmdlet to retrieve time zone information.

GetTraceSourceCommand

A cmdlet that gets the TraceSource instances that are instantiated in the process

GetTypeDataCommand

Get-TypeData cmdlet

GetUICultureCommand

Returns the thread's current UI culture.

GetUniqueCommand
GetUptimeCommand

This class implements Get-Uptime

GetVariableCommand

Implements get-variable command.

GetVerbCommand

Implementation of the Get Verb Command

GetWinEventCommand
GroupInfo

Emitted by Group-Object

GroupInfoNoElement

Emitted by Group-Object when the NoElement option is true

GroupObjectCommand

Group-Object implementation

HashCmdletBase

Base Cmdlet for cmdlets which deal with crypto hashes

HelpCategoryInvalidException

The exception that is thrown when there is no help category matching a specific input string.

HelpNotFoundException

The exception that is thrown when there is no help found for a topic.

HistoryInfo

Contains information about a single history entry

HotFix

Describes a Quick-Fix Engineering update

HttpResponseException

Exception class for webcmdlets to enable returning HTTP error response

ImplicitRemotingCommandBase

Base class for implicit remoting cmdlets

ImportAliasCommand

The implementation of the "import-alias" cmdlet

ImportClixmlCommand

Implements Import-Clixml command

ImportCounterCommand
ImportCsvCommand

Implements Import-Csv command

ImportLocalizedData

The implementation of the "import-localizeddata" cmdlet

ImportModuleCommand

Implements a cmdlet that loads a module

ImportPowerShellDataFileCommand

This class implements Import-PowerShellDataFile command.

ImportPSSessionCommand

This class implements Import-PSSession cmdlet. Spec: http://cmdletdesigner/SpecViewer/Default.aspx?Project=PowerShell&Cmdlet=Import-Command

ImportWorkflowCommand

A cmdlet to load WF Workflows, expressed as XAML and wrap them in functions.

InternalSymbolicLinkLinkCodeMethods

Class to find the symbolic link target.

InvokeCommandCommand

This cmdlet executes a specified script block on one or more remote machines. The expression or command, as they will be interchangeably called, need to be contained in a script block. This is to ensure two things:

  1. The expression that the user has entered is syntactically correct (its compiled)
  2. The scriptblock can be converted to a powershell object before transmitting it to the remote end so that it can be run on constrained runspaces in the no language mode

    In general, the command script block is executed as if the user had typed it at the command line. The output of the command is the output of the cmdlet. However, since invoke-command is a cmdlet, it will unravel its output:

    • if the command outputs an empty array, invoke-command will output $null
    • if the command outputs a single-element array, invoke-command will output that single element.

    Additionally, the command will be run on a remote system.

    This cmdlet can be called in the following different ways:

    Execute a command in a remote machine by specifying the command and machine name invoke-command -Command {get-process} -computername "server1"

    Execute a command in a set of remote machines by specifying the command and the list of machines $servers = 1..10 | ForEach-Object {"Server${_}"} invoke-command -command {get-process} -computername $servers

    Create a new runspace and use it to execute a command on a remote machine $runspace = New-PSSession -computername "Server1" $credential = get-credential "user01" invoke-command -command {get-process} -Session $runspace -credential $credential

    Execute a command in a set of remote machines by specifying the complete uri for the machines $uri = "http://hostedservices.microsoft.com/someservice" invoke-command -command { get-mail } - uri $uri

    Create a collection of runspaces and use it to execute a command on a set of remote machines

    $serveruris = 1..8 | ForEach-Object {"http://Server${_}/"} $runspaces = New-PSSession -URI $serveruris invoke-command -command {get-process} -Session $runspaces

    The cmdlet can also be invoked in the asynchronous mode.

    invoke-command -command {get-process} -computername $servers -asjob

    When the -AsJob switch is used, the cmdlet will emit an PSJob Object. The user can then use the other job cmdlets to work with this object

    Note there are two types of errors:

    1. Remote invocation errors
    2. Local errors.

    Both types of errors will be available when the user invokes a receive operation.

    The PSJob object has its own throttling mechanism. The result object will be stored in a global cache. If a user wants to retrieve data from the result object the user should be able to do so using the Receive-PSJob cmdlet

    The following needs to be noted about exception/error reporting in this cmdlet: The exception objects that are thrown by underlying layers will be written as errors, to avoid stopping the entire cmdlet in case of multi-computername or multi-Session usage (for consistency, this is true even when done using one computername or runspace)

    Only one expression may be executed at a time in any single runspace. Attempts to invoke an expression on a runspace that is already executing an expression shall return an error with ErrorCategory ResourceNotAvailable and notify the user that the runspace is currently busy.

    Some additional notes:

    • invoke-command issues a single scriptblock to the computer or runspace. If a runspace is specified and a command is already running in that runspace, then the second command will fail
    • The files necessary to execute the command (cmdlets, scripts, data files, etc) must be present on the remote system; the cmdlet is not responsible for copying them over
    • The entire input stream is collected and sent to the remote system before execution of the command begins (no input streaming)
    • Input shall be available as $input. Remote Runspaces must reference $input explicitly (input will not automatically be available)
    • Output from the command streams back to the client as it is available
    • Ctrl-C and pause/resume are supported; the client will send a message to the remote powershell instance.
    • By default if no -credential is specified, the host will impersonate the current user on the client when executing the command
    • The standard output of invoke-command is the output of the last element of the remote pipeline, with some extra properties added
    • If -Shell is not specified, then the value of the environment variable DEFAULTREMOTESHELLNAME is used. If this is not set, then "Microsoft.PowerShell" is used.
InvokeExpressionCommand

Class implementing Invoke-Expression

InvokeHistoryCommand

This class implements the Invoke-History command

InvokeItemCommand

Invokes an item at the specified location

InvokeRestMethodCommand

The Invoke-RestMethod command This command makes an HTTP or HTTPS request to a web service, and returns the response in an appropriate way. Intended to work against the wide spectrum of "RESTful" web services currently deployed across the web.

InvokeWebRequestCommand

The Invoke-RestMethod command This command makes an HTTP or HTTPS request to a web server and returns the results.

ItemPropertyCommandBase

The base class for the */property commands

JobCmdletBase

This is the base class for job cmdlet and contains some helper functions

JoinPathCommand

A command that adds the parent and child parts of a path together with the appropriate path separator.

JsonObject

JsonObject class

MatchInfo

The object returned by select-string representing the result of a match.

MatchInfoContext

Context information about a match.

MeasureCommandCommand

Implements a cmdlet that applies a script block to each element of the pipeline.

MeasureInfo

Class output by Measure-Object

MeasureObjectCommand

measure object cmdlet

MemberDefinition

Class with member information that this cmdlet writes to the pipeline

ModuleCmdletBase

This is the base class for some of the module cmdlets. It contains a number of utility functions for these classes.

ModuleSpecification

Represents module specification written in a module manifest (i.e. in RequiredModules member/field).

Module manifest allows 2 forms of module specification:

  1. string - module name
  2. hashtable - [string]ModuleName (required) + [Version]ModuleVersion/RequiredVersion (required) + [Guid]GUID (optional)

    so we have a constructor that takes a string and a constructor that takes a hashtable (so that LanguagePrimitives.ConvertTo can cast a string or a hashtable to this type)

MoveItemCommand

Moves an item from the specified location to the specified destination using the namespace providers.

MoveItemPropertyCommand

A command to move a property on an item to another item

MultipleServiceCommandBase

This class implements the base for service commands which can operate on multiple services

NetworkAdapter

Provides information about a network adapter

NewAliasCommand

The implementation of the "new-alias" cmdlet

NewEventCommand

Generates a new event notification.

NewFileCatalogCommand

Defines the implementation of the 'New-FileCatalog' cmdlet. This cmdlet generates the catalog for File or Folder

NewGuidCommand

The implementation of the "new-guid" cmdlet

NewItemCommand

Creates the specified item using the namespace providers.

NewItemPropertyCommand

A command to create a new property on an object.

NewModuleCommand

Implements a cmdlet that creates a dynamic module from a scriptblock..

NewModuleManifestCommand

Cmdlet to create a new module manifest file.

NewObjectCommand

Create a new .net object

NewPSDriveCommand

Mounts a drive in the Monad namespace.

NewPSRoleCapabilityFileCommand

New-PSRoleCapabilityFile command implementation

Creates a role capability file suitable for use in a Role Capability (which can be referenced in a Session Configuration file)

NewPSSessionCommand

This cmdlet establishes a new Runspace either on the local machine or on the specified remote machine(s). The runspace established can be used to invoke expressions remotely.

The cmdlet can be used in the following ways:

Open a local runspace $rs = New-PSSession

Open a runspace to a remote system. $rs = New-PSSession -Machine PowerShellWorld

Create a runspace specifying that it is globally scoped. $global:rs = New-PSSession -Machine PowerShellWorld

Create a collection of runspaces $runspaces = New-PSSession -Machine PowerShellWorld,PowerShellPublish,PowerShellRepo

Create a set of Runspaces using the Secure Socket Layer by specifying the URI form. This assumes that an shell by the name of E12 exists on the remote server. $serverURIs = 1..8 | ForEach-Object { "SSL://server${_}:443/E12" } $rs = New-PSSession -URI $serverURIs

Create a runspace by connecting to port 8081 on servers s1, s2 and s3 $rs = New-PSSession -computername s1,s2,s3 -port 8081

Create a runspace by connecting to port 443 using ssl on servers s1, s2 and s3 $rs = New-PSSession -computername s1,s2,s3 -port 443 -useSSL

Create a runspace by connecting to port 8081 on server s1 and run shell named E12. This assumes that a shell by the name E12 exists on the remote server $rs = New-PSSession -computername s1 -port 8061 -ShellName E12

NewPSSessionConfigurationFileCommand

New-PSSessionConfigurationFile command implementation

See Declarative Initial Session State (DISC)

NewPSSessionOptionCommand

This class implements New-PSSessionOption cmdlet. Spec: TBD

NewPSTransportOptionCommand

Command to create an object for WSManConfigurationOption

NewPSWorkflowExecutionOptionCommand

Command to create an object for PSWorkflowExecutionOption

NewServiceCommand

This class implements the set-service command

NewTemporaryFileCommand

The implementation of the "New-TemporaryFile" cmdlet

NewTimeSpanCommand

implementation for the new-timespan command

NewVariableCommand

Class implementing new-variable command

NewWinEventCommand
NounArgumentCompleter
ObjectBase

Base Cmdlet for object cmdlets that deal with Grouping, Sorting and Comparison.

ObjectCmdletBase

Base Cmdlet for cmdlets which deal with raw objects

ObjectEventRegistrationBase

Base class for object-based event registration.

OrderObjectBase

Base Cmdlet for object cmdlets that deal with Ordering and Comparison.

OutDefaultCommand

implementation for the out-default command this command it implicitly inject by the powershell host at the end of the pipeline as the default sink (display to console screen)

OutFileCommand

implementation for the out-file command

OutHostCommand

implementation for the out-host command

OutLineOutputCommand

implementation for the out-lineoutput command it provides a wrapper for the OutCommandInner class, which is the general purpose output command

OutNullCommand

Null sink to absorb pipeline output

OutStringCommand

implementation for the out-string command

PassThroughContentCommandBase

The base class for the */content commands that also take a passthrough parameter

PassThroughItemPropertyCommandBase

The base class for the */property commands that also take a passthrough parameter

PopLocationCommand

The core command for pop-location. This is the equivalent of the popd command. It pops a container from the stack and sets the current location to that container.

ProcessBaseCommand

This class implements the base for process commands

ProcessCommandException

Non-terminating errors occurring in the process noun commands

Processor

Describes a processor on the computer

ProtectCmsMessageCommand

Defines the implementation of the 'Protect-CmsMessage' cmdlet.

This cmdlet generates a new encrypted CMS message given the recipient and content supplied.

PSBreakpointCommandBase

Base class for Enable/Disable/Remove-PSBreakpoint

PSEditionArgumentCompleter

PSEditionArgumentCompleter for PowerShell Edition names.

PSExecutionCmdlet

Base class for any cmdlet which has to execute a pipeline. The following cmdlets currently fall under this category:

  1. Invoke-Expression
  2. Start-PSJob
PSHostProcessInfo

PowerShell host process information class.

PSRemotingBaseCmdlet

Base class for any cmdlet which takes a -Session parameter or a -ComputerName parameter (along with its other associated parameters). The following cmdlets currently fall under this category:

  1. New-PSSession
  2. Invoke-Expression
  3. Start-PSJob
PSRemotingCmdlet

This class defines most of the common functionality used across remoting cmdlets.

It contains tons of utility functions which are used all across the remoting cmdlets

PSRunspaceCmdlet

Base class for any cmdlet which operates on a runspace. The following cmdlets currently fall under this category:

  1. Get-PSSession
  2. Remove-PSSession
  3. Disconnect-PSSession
  4. Connect-PSSession
PSRunspaceDebug

Runspace Debug Options class

PSSessionConfigurationCommandBase

Base class for PSCustomShell commands Register-PSSessionConfiguration, Set-PSSessionConfiguration

PSSnapInCommandBase

Base class for all the pssnapin related cmdlets.

PSUserAgent

Construct the Useragent string

PSWorkflowExecutionOption

This class is used to specify Workflow related options in the Register-PSSessionConfiguration

PushLocationCommand

The core command for setting/changing location and pushing it onto a location stack. This is the equivalent of the pushd command.

ReadHostCommand

Retrieves input from the host virtual console and writes it to the pipeline output.

ReceiveJobCommand

Cmdlet used for receiving results from job object. This cmdlet is intended to have a slightly different behavior in the following two cases:

  1. The job object to receive results from is a PSRemotingJob In this case, the cmdlet can use two additional parameters to filter results - ComputerName and Runspace The parameters help filter out results for a specified computer or runspace from the job object

    $job = Start-PSJob -Command 'get-process' -ComputerName server1, server2 Receive-PSJob -Job $job -ComputerName server1

    $job = Start-PSJob -Command 'get-process' -Session $r1, $r2 Receive-PSJob -Job $job -Session $r1

    1. The job object to receive results is a PSJob (or derivative other than PSRemotingJob) In this case, the user cannot will use the location parameter to do any filtering and will not have ComputerName and Runspace parameters

      $job = Get-WMIObject '....' -AsJob Receive-PSJob -Job $job -Location "Server2"

      The following will result in an error:

      $job = Get-WMIObject '....' -AsJob Receive-PSJob -Job $job -ComputerName "Server2" The parameter ComputerName cannot be used with jobs which are not PSRemotingJob

ReceivePSSessionCommand

This cmdlet connects a running command associated with a PS session and then directs the command output either: a) To Host. This is the synchronous mode of the cmdlet which won't return until the running command completes and all output data is received on the client. b) To a job object. This is the asynchronous mode of the cmdlet which will return immediately providing the job object that is collecting the running command output data.

The running command becomes disconnected when the associated runspace is disconnected (via the Disconnect-PSSession cmdlet).

The associated runspace object must be in the Opened state (connected) before the running command can be connected. If the associated runspace object is in the disconnected state, it will first be connected before the running command is connected.

The user can specify how command output data is returned by using the public OutTarget enumeration (Host, Job). The default actions of this cmdlet is to always direct ouput to host unless a job object already exists on the client that is associated with the running command. In this case the existing job object is connected to the running command and returned.

The cmdlet can be used in the following ways:

Receive PS session data by session object > $session = New-PSSession serverName > $job1 = Invoke-Command $session { [script] } -asjob > Disconnect-PSSession $session > Connect-PSSession $session > Receive-PSSession $session // command output continues collecting at job object.

Receive PS session data by session Id > Receive-PSSession $session.Id

Receive PS session data by session instance Id > Receive-PSSession $session.InstanceId

Receive PS session data by session Name. Direct output to job > Receive-PSSession $session.Name

Receive a running command from a computer. > $job = Receive-PSSession -ComputerName ServerOne -Name SessionName -OutTarget Job

RegisterEngineEventCommand

Registers for an event coming from the engine.

RegisterObjectEventCommand

Registers for an event on an object.

RegisterPSSessionConfigurationCommand

Class implementing Register-PSSessionConfiguration

RegistryProvider

Provider that provides access to Registry through cmdlets. This provider implements NavigationCmdletProvider, IPropertyCmdletProvider, IDynamicPropertyCmdletProvider,
ISecurityDescriptorCmdletProvider interfaces.

RegistryProviderSetItemDynamicParameter

Defines dynamic parameters for the registry provider

RemoveAliasCommand

The implementation of the "Remove-Alias" cmdlet.

RemoveEventCommand

Removes an event from the event queue.

RemoveItemCommand

Removes the specified item using the namespace providers.

RemoveItemPropertyCommand

A command to remove a property from an item.

RemoveJobCommand

This cmdlet removes the Job object from the runspace wide Job repository.

Once the Job object is removed, it will not be available through get-psjob command.

RemoveModuleCommand

Implements a cmdlet that gets the list of loaded modules...

RemovePSBreakpointCommand

This class implements Remove-PSBreakpoint

RemovePSDriveCommand

Removes a drive that is mounted in the Monad namespace.

RemovePSSessionCommand

This cmdlet stops the runspace and frees the resources associated with that runspace. If any execution is in process in that runspace, it is stopped. Also, the runspace is removed from the global cache.

This cmdlet can be used in the following ways:

Remove the runspace specified $runspace = New-PSSession Remove-PSSession -remoterunspaceinfo $runspace

Remove the runspace specified (no need for a parameter name) $runspace = New-PSSession Remove-PSSession $runspace

RemovePSSnapinCommand

Class that implements remove-pssnapin cmdlet.

RemoveServiceCommand

This class implements the Remove-Service command

RemoveTypeDataCommand

Remove-TypeData cmdlet

RemoveVariableCommand

The Remove-Variable cmdlet implementation

RenameComputerChangeInfo

The object returned by Rename-Computer cmdlet representing the status of the target machine.

RenameComputerCommand

Renames a domain computer and its corresponding domain account or a workgroup computer. Use this command to rename domain workstations and local machines only. It cannot be used to rename Domain Controllers.

RenameItemCommand

Renames a specified item to a new name using the namespace providers

RenameItemPropertyCommand

A command to rename a property of an item at a specified path

ResolvePathCommand

A command to resolve MSH paths containing glob characters to MSH paths that match the glob strings.

RestartComputerCommand

Restarts the computer

RestartComputerTimeoutException

This exception is thrown when the timeout expires before a computer finishes restarting

RestartServiceCommand

This class implements the restart-service command

ResumeJobCommand

This cmdlet resumes the jobs that are Job2. Errors are added for each Job that is not Job2.

ResumeServiceCommand

This class implements the resume-service command

SaveHelpCommand

This class implements the Save-Help cmdlet

SecureStringCommandBase

Defines the base class from which all SecureString commands are derived.

SecurityDescriptorCommandsBase

Defines the base class from which all Security Descriptor commands are derived.

SelectObjectCommand
SelectStringCommand

A cmdlet to search through strings and files for particular patterns.

SelectXmlCommand

This cmdlet is used to search an xml document based on the XPath Query.

SelectXmlInfo

The object returned by Select-Xml representing the result of a match.

SendAsTrustedIssuerProperty

class for SendAsTrustedIssuer

SendMailMessage

implementation for the Send-MailMessage command

ServiceBaseCommand

This class implements the base for service commands

ServiceCommandException

Non-terminating errors occurring in the service noun commands

ServiceOperationBaseCommand

This class implements the base for service commands which actually act on the service(s).

SessionStateProviderBase

This is the base class for all the providers that produce a view on session state data (Variables, Aliases, and Functions)

SessionStateProviderBaseContentReaderWriter

The content reader/writer for all providers deriving from SessionStateProviderBase

SetAclCommand

Defines the implementation of the 'set-acl' cmdlet. This cmdlet sets the security descriptor of an item at the specified path.

SetAliasCommand

The implementation of the "set-alias" cmdlet

SetAuthenticodeSignatureCommand

Defines the implementation of the 'set-AuthenticodeSignature' cmdlet. This cmdlet sets the digital signature on a given file.

SetContentCommand

A command to set the content of an item at a specified path

SetDateCommand

implementation for the set-date command

SetExecutionPolicyCommand

Defines the implementation of the 'Set-ExecutionPolicy' cmdlet. This cmdlet sets the local preference for the execution policy of the shell.

The execution policy may be overridden by settings in Group Policy. If the Group Policy setting overrides the desired behaviour, the Cmdlet generates a terminating error.

SetItemCommand

Sets the specified item using the namespace providers.

SetItemPropertyCommand

A command to set the property of an item at a specified path

SetLocationCommand

The core command for setting/changing location. This is the equivalent of cd command.

SetPSBreakpointCommand

This class implements Set-PSBreakpoint command.

SetPSDebugCommand

Implements a cmdlet that sets the script debugging options.

SetPSSessionConfigurationCommand

Class implementing Set-PSSessionConfiguration

SetServiceCommand

This class implements the set-service command

SetStrictModeCommand

Set-StrictMode causes the interpreter to throw an exception in the following cases:

  • Referencing an unassigned variable
  • Referencing a non-existent property of an object
  • Calling a function as a method (with parentheses and commas)
  • Using the variable expansion syntax in a string literal w/o naming a variable, i.e. "${}"

    Parameters:

    -Version allows the script author to specify which strict mode version to enforce. -Off turns strict mode off

    Note:

    Unlike Set-PSDebug -strict, Set-StrictMode is not engine-wide, and only affects the scope it was defined in.

SetTimeZoneCommand

A cmdlet to set the system's local time zone.

SetTraceSourceCommand

A cmdlet that sets the properties of the TraceSwitch instances that are instantiated in the process

SetVariableCommand

This class implements set-variable command

SignatureCommandsBase

Defines the base class from which all signature commands are derived.

SortObjectCommand
SplitPathCommand

A command to resolve MSH paths containing glob characters to MSH paths that match the glob strings.

StartJobCommand

This cmdlet start invocation of jobs in background.

StartProcessCommand

This class implements the Start-process command

StartServiceCommand

This class implements the start-service command

StartSleepCommand

Suspend shell, script, or runspace activity for the specified period of time.

StartTranscriptCommand

Implements the start-transcript cmdlet

StopComputerCommand

cmdlet to stop computer

StopJobCommand

This cmdlet stops the asynchronously invoked remote operations.

StopProcessCommand

This class implements the stop-process command

StopServiceCommand

This class implements the stop-service command

StopTranscriptCommand

Implements the stop-transcript cmdlet

SuspendJobCommand

This cmdlet suspends the jobs that are Job2. Errors are added for each Job that is not Job2.

SuspendServiceCommand

This class implements the suspend-service command

TeeObjectCommand

Class for Tee-object implementation

TestFileCatalogCommand

Defines the implementation of the 'Test-FileCatalog' cmdlet. This cmdlet validates the Integrity of catalog

TestModuleManifestCommand

This cmdlet takes a module manifest and validates the contents...

TestPathCommand

A command to determine if an item exists at a specified path

TestPSSessionConfigurationFileCommand

Test-PSSessionConfigurationFile command implementation

See Declarative Initial Session Config (DISC)

TextMeasureInfo

Class output by Measure-Object

TraceCommandBase

A base class for cmdlets that has helper methods for globbing trace source instances

TraceCommandCommand

A cmdlet that traces the specified categories and flags for the duration of the specified expression.

TraceListenerCommandBase

A base class for the trace cmdlets that allow you to specify which trace listeners to add to a TraceSource

UnblockFileCommand

Removes the Zone.Identifier stream from a file.

UnprotectCmsMessageCommand

Defines the implementation of the 'Unprotect-CmsMessage' cmdlet.

This cmdlet retrieves the clear text content of an encrypted CMS message.

UnregisterEventCommand

Unregisters from an event on an object.

UnregisterPSSessionConfigurationCommand

Class implementing Unregister-PSSessionConfiguration

UpdatableHelpCommandBase

The base class of all updatable help system cmdlets (Update-Help, Save-Help)

UpdateData

This is the base class for update-typedata and update-formatdata

UpdateFormatDataCommand

This class implements update-typeData command.

UpdateHelpCommand

This class implements the Update-Help cmdlet

UpdateTypeDataCommand

This class implements update-typeData command.

UtilityResources

Utility class to contain resources for the Microsoft.PowerShell.Utility module

VariableCommandBase

Base class for all variable commands.

Because -Scope is defined in VariableCommandBase, all derived commands must implement -Scope.

VariableProvider

This provider is the data accessor for shell variables. It uses the HashtableProvider as the base class to get a hashtable as a data store.

WaitDebuggerCommand

This cmdlet causes a running script or command to stop in the debugger at the next execution point.

WaitEventCommand

Waits for a given event to arrive.

WaitJobCommand

This cmdlet waits for job to complete.

WaitProcessCommand

This class implements the Wait-process command

WebCmdletElementCollection

WebCmdletElementCollection for elements in html web responses

WebRequestPSCmdlet

Base class for Invoke-RestMethod and Invoke-WebRequest commands.

WebRequestSession

WebRequestSession for holding session infos.

WebResponseObject

WebResponseObject

WhereObjectCommand

Implements a cmdlet that applys a script block to each element of the pipeline. If the result of that application is true, then the current pipeline object is passed on, otherwise it is dropped.

WriteAliasCommandBase

The base class for the SetAliasCommand and NewAliasCommand

WriteContentCommandBase

A base class for the commands that write content (set-content, add-content)

WriteDebugCommand

This class implements Write-Debug command

WriteErrorCommand

This class implements Write-Error command

WriteErrorException

The write-error cmdlet uses WriteErrorException when the user only specifies a string and not an Exception or ErrorRecord.

WriteHostCommand

Class comment

WriteInformationCommand

This class implements Write-Information command

WriteOrThrowErrorCommand

This class implements the Write-Error command

WriteOutputCommand

This class implements Write-output command

WriteProgressCommand

Implements the write-progress cmdlet

WriteVerboseCommand

This class implements Write-Verbose command

WriteWarningCommand

This class implements Write-Warning command

WSManConfigurationOption

Implementing type for WSManConfigurationOption

X509StoreLocation

Defines a class to represent a store location in the certificate provider. The two possible store locations are CurrentUser and LocalMachine

Structs

DnsNameRepresentation

Defines the type of DNS string The structure contains punycode name and unicode name

EnhancedKeyUsageRepresentation

Defines the type of EKU string The structure contains friendly name and EKU oid

ModuleCmdletBase.ImportModuleOptions

Options set during module import

Enums

AdminPasswordStatus

System hardware security settings for administrator password status

BootOptionAction

Actions related to the BootOptionOn* properties of the Win32_ComputerSystem CIM class

BreakpointType

Types of breakpoints

CpuArchitecture

Specifies the processor architecture

CpuAvailability

Specifies a CPU's availability and status

CpuStatus

Specifies that current status of the processor

DataExecutionPreventionSupportPolicy

Data Execution Prevention (DEP) settings

DeviceGuardConfigCodeIntegrityStatus

Configuration status of the Device Guard Code Integrity

DeviceGuardHardwareSecure

Device Guard hardware security properties

DeviceGuardSmartStatus

Status of the Device Guard feature

DeviceGuardSoftwareSecure

Device Guard software security properties

DisplayHintType

Display Hint type

DomainRole

Role of a computer in an assigned domain workgroup

ExportAliasFormat

The formats that export-alias supports

FileSystemCmdletProviderEncoding

Defines the values that can be supplied as the encoding parameter in the FileSystemContentDynamicParametersBase class.

FirmwareType

Specifies a firmware type

ForegroundApplicationBoost

Increase in priority given to the foreground application

FrontPanelResetStatus

hardware security settings for the reset button on a computer

HardwareSecurity

Indicates a hardware security setting

InvokeRestMethodCommand.RestReturnType

enum for rest return type.

Language

Languages supported for code generation

NetConnectionStatus

State of the network adapter connection to the network

OpenMode

The enum used by commands to allow the user to specify how a file (or other item) should be opened.

OperatingSystemSKU

Indicates the operating system Stock Keeping Unit (SKU)

OSEncryptionLevel

Encryption level for secure transactions: 40-bit, 128-bit, or n-bit.

OSProductSuite

Indicates installed and licensed system product additions to the operating system

OSType

Type of operating system

OutputAssemblyType

Types supported for the OutputAssembly parameter

OutTarget

Output modes available to the Receive-PSSession cmdlet.

PCSystemType

Specifies the type of the computer in use, such as laptop, desktop, or Tablet

PCSystemTypeEx

Specifies the type of the computer in use, such as laptop, desktop, or Tablet. This is an extended version of PCSystemType

PowerManagementCapabilities

Specifies power-related capabilities of a logical device

PowerPlatformRole

Indicates the OEM's preferred power management profile

PowerState

Specified power states

ProcessorType

Specifies the primary function of a processor

ProductType

Additional system information, from Win32_OperatingSystem

ResetCapability

Specifies a computer's reset capability

ServerLevel

Specifies the system server level

ServiceStartupType

Enum for usage with StartupType. Automatic, Manual and Disabled index matched from System.ServiceProcess.ServiceStartMode

SessionFilterState

Runspace states that can be used as filters for querying remote runspaces.

SoftwareElementState

State of a software element

SystemElementState

Indicates the state of a system element

TestPathType

The valid values for the -PathType parameter for test-path

TextEncodingType

Don't use! The API is obsolete!

WaitForServiceTypes

Defines the services that Restart-Computer can wait on

WakeUpType

Specifies the kind of event that causes a computer to power up

WebAuthenticationType

The valid values for the -Authentication parameter for Invoke-RestMethod and Invoke-WebRequest

WebRequestMethod

enums for web request method.

WebSslProtocol

The valid values for the -SslProtocol parameter for Invoke-RestMethod and Invoke-WebRequest