NewPSSessionCommand Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.
public ref class NewPSSessionCommand : Microsoft::PowerShell::Commands::PSRemotingBaseCmdlet, IDisposable
public class NewPSSessionCommand : Microsoft.PowerShell.Commands.PSRemotingBaseCmdlet, IDisposable
[System.Management.Automation.Cmdlet("New", "PSSession", DefaultParameterSetName="ComputerName", HelpUri="https://go.microsoft.com/fwlink/?LinkID=2096484", RemotingCapability=System.Management.Automation.RemotingCapability.OwnedByCommand)]
[System.Management.Automation.OutputType(new System.Type[] { typeof(System.Management.Automation.Runspaces.PSSession) })]
public class NewPSSessionCommand : Microsoft.PowerShell.Commands.PSRemotingBaseCmdlet, IDisposable
[System.Management.Automation.Cmdlet("New", "PSSession", DefaultParameterSetName="ComputerName", HelpUri="https://go.microsoft.com/fwlink/?LinkID=2096484", RemotingCapability=System.Management.Automation.RemotingCapability.OwnedByCommand)]
[System.Management.Automation.OutputType(typeof(System.Management.Automation.Runspaces.PSSession))]
public class NewPSSessionCommand : Microsoft.PowerShell.Commands.PSRemotingBaseCmdlet, IDisposable
[System.Management.Automation.OutputType(new System.Type[] { typeof(System.Management.Automation.Runspaces.PSSession) })]
[System.Management.Automation.Cmdlet("New", "PSSession", DefaultParameterSetName="ComputerName", HelpUri="https://go.microsoft.com/fwlink/?LinkID=135237", RemotingCapability=System.Management.Automation.RemotingCapability.OwnedByCommand)]
public class NewPSSessionCommand : Microsoft.PowerShell.Commands.PSRemotingBaseCmdlet, IDisposable
type NewPSSessionCommand = class
inherit PSRemotingBaseCmdlet
interface IDisposable
[<System.Management.Automation.Cmdlet("New", "PSSession", DefaultParameterSetName="ComputerName", HelpUri="https://go.microsoft.com/fwlink/?LinkID=2096484", RemotingCapability=System.Management.Automation.RemotingCapability.OwnedByCommand)>]
[<System.Management.Automation.OutputType(new System.Type[] { typeof(System.Management.Automation.Runspaces.PSSession) })>]
type NewPSSessionCommand = class
inherit PSRemotingBaseCmdlet
interface IDisposable
[<System.Management.Automation.Cmdlet("New", "PSSession", DefaultParameterSetName="ComputerName", HelpUri="https://go.microsoft.com/fwlink/?LinkID=2096484", RemotingCapability=System.Management.Automation.RemotingCapability.OwnedByCommand)>]
[<System.Management.Automation.OutputType(typeof(System.Management.Automation.Runspaces.PSSession))>]
type NewPSSessionCommand = class
inherit PSRemotingBaseCmdlet
interface IDisposable
[<System.Management.Automation.OutputType(new System.Type[] { typeof(System.Management.Automation.Runspaces.PSSession) })>]
[<System.Management.Automation.Cmdlet("New", "PSSession", DefaultParameterSetName="ComputerName", HelpUri="https://go.microsoft.com/fwlink/?LinkID=135237", RemotingCapability=System.Management.Automation.RemotingCapability.OwnedByCommand)>]
type NewPSSessionCommand = class
inherit PSRemotingBaseCmdlet
interface IDisposable
Public Class NewPSSessionCommand
Inherits PSRemotingBaseCmdlet
Implements IDisposable
- Inheritance
- Attributes
- Implements
Constructors
NewPSSessionCommand() |
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) |
UriParameterSet |
Uri parameter set. (Inherited from PSRemotingBaseCmdlet) |
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. (Inherited from PSRemotingBaseCmdlet) |
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 that's not specified as well, then "WSMAN" will be used. (Inherited from PSRemotingBaseCmdlet) |
Authentication |
Use basic authentication to authenticate the user. (Inherited from PSRemotingBaseCmdlet) |
CertificateThumbprint |
Specifies the certificate thumbprint to be used to impersonate the user on the remote machine. (Inherited from PSRemotingBaseCmdlet) |
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 |
This parameter represents the address(es) of the remote computer(s). The following formats are supported: (a) Computer name (b) IPv4 address : 132.3.4.5 (c) IPv6 address: 3ffe:8311:ffff:f70f:0:5efe:172.30.162.18. |
ConfigurationName |
For WSMan sessions: 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. For VM/Container sessions: If this parameter is not specified then no configuration is used. |
ConnectingTimeout |
Gets or sets a value in milliseconds that limits the time allowed for an SSH connection to be established. Default timeout value is infinite. (Inherited from PSRemotingBaseCmdlet) |
ConnectionUri |
A complete URI(s) specified for the remote computer and shell to connect to and create runspace for. (Inherited from PSRemotingBaseCmdlet) |
ContainerId |
ID of target container. (Inherited from PSRemotingBaseCmdlet) |
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) |
EnableNetworkAccess |
When set and in loopback scenario (localhost) this enables creation of WSMan host process with the user interactive token, allowing PowerShell script network access, i.e., allows going off box. When this property is true and a PSSession is disconnected, reconnection is allowed only if reconnecting from a PowerShell session on the same box. |
Events |
Gets the event manager for the current runspace. (Inherited from PSCmdlet) |
Host |
Gets the host interaction APIs. (Inherited from PSCmdlet) |
HostName |
Host name for an SSH remote connection. (Inherited from PSRemotingBaseCmdlet) |
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) |
JobRepository |
Repository for jobs. (Inherited from PSCmdlet) |
KeyFilePath |
SSH Key File Path. (Inherited from PSRemotingBaseCmdlet) |
MyInvocation |
Contains information about the identity of this cmdlet and how it was invoked. (Inherited from PSCmdlet) |
Name |
Friendly names for the new PSSessions. |
Options |
Gets or sets the Hashtable containing options to be passed to OpenSSH. (Inherited from PSRemotingBaseCmdlet) |
PagingParameters |
If the cmdlet declares paging support (via SupportsPaging),
then PagingParameters property contains arguments of the paging parameters.
Otherwise PagingParameters property is |
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) (Inherited from PSRemotingBaseCmdlet) |
ResolvedComputerNames |
Computer names after they have been resolved (null, empty string, "." resolves to localhost) (Inherited from PSRemotingBaseCmdlet) |
RunAsAdministrator |
When set, PowerShell process inside container will be launched with high privileged account. Otherwise (default case), PowerShell process inside container will be launched with low privileged account. (Inherited from PSRemotingBaseCmdlet) |
Session |
The PSSession object describing the remote runspace using which the specified cmdlet operation will be performed. |
SessionOption |
Extended Session Options for controlling the session creation. Use "New-WSManSessionOption" cmdlet to supply value for this parameter. (Inherited from PSRemotingBaseCmdlet) |
SessionState |
Gets the instance of session state for the current runspace. (Inherited from PSCmdlet) |
SSHConnection |
Hashtable array containing SSH connection parameters for each remote target ComputerName (Alias: HostName) (required) UserName (optional) KeyFilePath (Alias: IdentityFilePath) (optional) (Inherited from PSRemotingBaseCmdlet) |
SSHTransport |
This parameter specifies that SSH is used to establish the remote connection and act as the remoting transport. By default WinRM is used as the remoting transport. Using the SSH transport requires that SSH is installed and PowerShell remoting is enabled on both client and remote machines. (Inherited from PSRemotingBaseCmdlet) |
Stopping |
Is this command stopping? (Inherited from Cmdlet) |
Subsystem |
Gets or sets a value for the SSH subsystem to use for the remote connection. (Inherited from PSRemotingBaseCmdlet) |
ThrottleLimit |
Allows the user of the cmdlet to specify a throttling value for throttling the number of remote operations that can be executed simultaneously. (Inherited from PSRemotingBaseCmdlet) |
UserName |
SSH User Name. (Inherited from PSRemotingBaseCmdlet) |
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. (Inherited from PSRemotingBaseCmdlet) |
UseWindowsPowerShell |
Gets or sets parameter value that creates connection to a Windows PowerShell process. |
VMId |
Guid of target virtual machine. (Inherited from PSRemotingBaseCmdlet) |
VMName |
Name of target virtual machine. (Inherited from PSRemotingBaseCmdlet) |
Methods
BeginProcessing() |
The throttle limit will be set here as it needs to be done only once per cmdlet and not for every call. |
CurrentProviderLocation(String) | (Inherited from PSCmdlet) |
Dispose() |
Dispose method of IDisposable. Gets called in the following cases: 1. Pipeline explicitly calls dispose on cmdlets 2. Called by the garbage collector. |
Dispose(Boolean) |
Internal dispose method which does the actual dispose operations and finalize suppressions. |
EndProcessing() |
OpenAsync would have been called from ProcessRecord. This method will wait until all runspaces are opened and then write them to the pipeline as and when they become available. |
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) |
ParseSshHostName(String, String, String, Int32) |
Parse a hostname used with SSH Transport to get embedded username and/or port. (Inherited from PSRemotingBaseCmdlet) |
ProcessRecord() |
The runspace objects will be created using OpenAsync. At the end, the method will check if any runspace opened has already become available. If so, then it will be written to the pipeline. |
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() |
This method is called when the user sends a stop signal to the cmdlet. The cmdlet will not exit until it has completed creating all the runspaces (basically the runspaces its waiting on OpenAsync is made available). However, when a stop signal is sent, CloseAsyn needs to be called to close all the pending runspaces. |
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) |
ValidateComputerName(String[]) |
Validates computer names to check if none of them happen to be a Uri. If so this throws an error. (Inherited from PSRemotingBaseCmdlet) |
ValidateRemoteRunspacesSpecified() |
Validate the PSSession objects specified and write appropriate error records. (Inherited from PSRemotingBaseCmdlet) |
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) |