Partager via


ReceivePSSessionCommand Class

Definition

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 immmediately 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

public ref class ReceivePSSessionCommand : Microsoft::PowerShell::Commands::PSRemotingCmdlet
public class ReceivePSSessionCommand : Microsoft.PowerShell.Commands.PSRemotingCmdlet
[System.Management.Automation.Cmdlet("Receive", "PSSession", ConfirmImpact=System.Management.Automation.ConfirmImpact.Low, DefaultParameterSetName="Session", HelpUri="https://go.microsoft.com/fwlink/?LinkID=2096800", RemotingCapability=System.Management.Automation.RemotingCapability.OwnedByCommand, SupportsShouldProcess=true)]
public class ReceivePSSessionCommand : Microsoft.PowerShell.Commands.PSRemotingCmdlet
type ReceivePSSessionCommand = class
    inherit PSRemotingCmdlet
[<System.Management.Automation.Cmdlet("Receive", "PSSession", ConfirmImpact=System.Management.Automation.ConfirmImpact.Low, DefaultParameterSetName="Session", HelpUri="https://go.microsoft.com/fwlink/?LinkID=2096800", RemotingCapability=System.Management.Automation.RemotingCapability.OwnedByCommand, SupportsShouldProcess=true)>]
type ReceivePSSessionCommand = class
    inherit PSRemotingCmdlet
Public Class ReceivePSSessionCommand
Inherits PSRemotingCmdlet
Inheritance
Attributes

Constructors

ReceivePSSessionCommand()

Fields

ComputerInstanceIdParameterSet

Computername with session instance ID parameter set.

(Inherited from PSRemotingCmdlet)
ComputerNameParameterSet

Computername parameter set.

(Inherited from PSRemotingCmdlet)
ContainerIdParameterSet

Container ID parameter set.

(Inherited from PSRemotingCmdlet)
DefaultPowerShellRemoteShellAppName

Default application name for the connection uri.

(Inherited from PSRemotingCmdlet)
DefaultPowerShellRemoteShellName

Default shellname.

(Inherited from PSRemotingCmdlet)
SessionParameterSet

Runspace parameter set.

(Inherited from PSRemotingCmdlet)
SSHHostHashParameterSet

SSH host parmeter set supporting hash connection parameters.

(Inherited from PSRemotingCmdlet)
SSHHostParameterSet

SSH host parameter set.

(Inherited from PSRemotingCmdlet)
UseWindowsPowerShellParameterSet

Parameter set to use Windows PowerShell.

(Inherited from PSRemotingCmdlet)
VMIdParameterSet

VM guid parameter set.

(Inherited from PSRemotingCmdlet)
VMNameParameterSet

VM name parameter set.

(Inherited from PSRemotingCmdlet)

Properties

AllowRedirection

The AllowRedirection parameter enables the implicit redirection functionality.

ApplicationName

This parameters specifies the appname which identifies the connection end point on the remote machine. If this parameter is not specified then the value specified in DEFAULTREMOTEAPPNAME will be used. If thats not specified as well, then "WSMAN" will be used

Authentication

Use basic authentication to authenticate the user.

CertificateThumbprint

Specifies the certificate thumbprint to be used to impersonate the user on the remote machine.

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)
ComputerName

Computer name to receive session data from.

ConfigurationName

If this parameter is not specified then the value specified in the environment variable DEFAULTREMOTESHELLNAME will be used. If this is not set as well, then Microsoft.PowerShell is used.

ConnectionUri

A complete URI(s) specified for the remote computer and shell to connect to and create a runspace for.

Credential

Specifies the credentials of the user to impersonate in the remote machine. If this parameter is not specified then the credentials of the current user process will be assumed.

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.

(Inherited from PSCmdlet)
Host

Gets the host interaction APIs.

(Inherited from PSCmdlet)
Id

Session Id of PSSession object to receive data from.

InstanceId

Instance Id of PSSession object to receive data from.

InvokeCommand

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

(Inherited from PSCmdlet)
InvokeProvider

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

(Inherited from PSCmdlet)
JobManager

Manager for JobSourceAdapters registered.

(Inherited from PSCmdlet)
JobName

Provides job name when job is created for returned data.

JobRepository

Repository for jobs.

(Inherited from PSCmdlet)
MyInvocation

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

(Inherited from PSCmdlet)
Name

Name of PSSession object to receive data from.

OutTarget

Determines how running command output is returned on client.

PagingParameters

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

(Inherited from PSCmdlet)
ParameterSetName

The name of the parameter set in effect.

(Inherited from PSCmdlet)
Port

Port specifies the alternate port to be used in case the default ports are not used for the transport mechanism (port 80 for http and port 443 for useSSL)

Session

The PSSession object to receive data from.

SessionOption

Session options.

SessionState

Gets the instance of session state for the current runspace.

(Inherited from PSCmdlet)
Stopping

Is this command stopping?

(Inherited from Cmdlet)
UseSSL

This parameter suggests that the transport scheme to be used for remote connections is useSSL instead of the default http.Since there are only two possible transport schemes that are possible at this point, a SwitchParameter is being used to switch between the two.

Methods

BeginProcessing()

Verifies if remoting cmdlets can be used.

(Inherited from PSRemotingCmdlet)
CurrentProviderLocation(String) (Inherited from PSCmdlet)
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) (Inherited from PSCmdlet)
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) (Inherited from PSCmdlet)
GetVariableValue(String, Object) (Inherited from PSCmdlet)
GetVariableValue(String) (Inherited from PSCmdlet)
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()

Process input.

ResolveAppName(String)

Determines the appname to be used based on the following order: 1. AppName parameter specified 2. DEFAULTREMOTEAPPNAME variable set 3. WSMan.

(Inherited from PSRemotingCmdlet)
ResolveComputerName(String)

Resolves a computer name. If its null or empty its assumed to be localhost.

(Inherited from PSRemotingCmdlet)
ResolveComputerNames(String[], String[])

Resolve all the machine names provided. Basically, if a machine name is '.' assume localhost.

(Inherited from PSRemotingCmdlet)
ResolveShell(String)

Determines the shellname to use based on the following order: 1. ShellName parameter specified 2. DEFAULTREMOTESHELLNAME variable set 3. PowerShell.

(Inherited from PSRemotingCmdlet)
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)
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)

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)
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)
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)

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)

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)
StopProcessing()

User has signaled a stop for this 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, 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)
WriteObject(Object)

Writes the object to the output pipe.

(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