New-PSWorkflowSession
ワークフロー セッションを作成します。
構文
New-PSWorkflowSession
[[-ComputerName] <String[]>]
[-Credential <Object>]
[-Name <String[]>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-ThrottleLimit <Int32>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-EnableNetworkAccess]
[<CommonParameters>]
説明
New-PSWorkflowSession
コマンドレットは、特に Windows PowerShell ワークフローを実行するために設計されたユーザー管理セッション (PSSession) を作成します。 Microsoft.PowerShell.Workflow セッション構成が使用されます。これには、スクリプト、型と書式設定のファイル、ワークフローに必要なオプションが含まれます。
New-PSWorkflowSession
またはそのエイリアス (nwsn
) を使用できます。
このコマンドにワークフロー共通パラメーターを追加することもできます。 ワークフロー共通パラメーターの詳細については、 about_WorkflowCommonParametersを参照してください。
このコマンドレットは、Windows PowerShell 3.0 で導入されました。
例
例 1: リモート コンピューターでワークフロー セッションを作成する
この例では、ServerNode01 リモート コンピューターに WorkflowTests セッションを作成します。
$params = @{
ComputerName = "ServerNode01"
Name = "WorkflowTests"
SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params
SessionOption パラメーターの値は、セッションの出力バッファリング モードを Drop に設定するNew-PSSessionOption
コマンドです。
例 2: 複数のリモート コンピューターでワークフロー セッションを作成する
この例では、ServerNode01 コンピューターと Server12 コンピューターにワークフロー セッションを作成します。 このコマンドでは、 Credential パラメーターを使用して、ドメイン管理者のアクセス許可を使用して実行します。
"ServerNode01", "Server12" |
New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150
このコマンドでは、 ThrottleLimit パラメーターを使用して、コマンドごとのスロットル制限を 150
に引き上げます。 この値は、Microsoft.PowerShell.Workflow セッション構成で設定されている100
の既定のスロットル制限よりも優先されます。
パラメーター
-ApplicationName
接続 URI のアプリケーション名セグメントを指定します。
既定値は、ローカル コンピューターの $PSSessionApplicationName
基本設定変数の値です。 このユーザー設定変数が定義されていない場合、既定値は WSMAN です。 この値はほとんどの用途に適しています。 詳細については、「 about_Preference_Variables」を参照してください。
WinRM サービスは、アプリケーション名を使用して、接続要求を処理するリスナーを選択します。 このパラメーターの値は、リモート コンピューター上のリスナーの URLPrefix プロパティの値と一致する必要があります。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Authentication
ユーザー資格情報の認証に使用するメカニズムを指定します。 このパラメーターの有効値は、次のとおりです。
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
既定値は Default
です。
CredSSP 認証は、Windows Vista、Windows Server 2008、およびそれ以降のバージョンの Windows オペレーティング システムでのみ使用できます。
このパラメーターの値の詳細については、「 AuthenticationMechanism 列挙型を参照してください。
注意事項
資格情報セキュリティ サービス プロバイダー (CredSSP) 認証は、ユーザー資格情報が認証されるリモート コンピューターに渡される認証で、リモート ネットワーク共有へのアクセスなど、複数のリソースで認証を必要とするコマンド用に設計されています。 このメカニズムを使用すると、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡される資格情報を使用してネットワーク セッションが制御される場合があります。
型: | AuthenticationMechanism |
指定可能な値: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
配置: | Named |
規定値: | Default |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CertificateThumbprint
この処理を実行するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書の拇印を入力します。
証明書は、クライアント証明書ベースの認証で使用されます。 これらの証明書は、ローカル ユーザー アカウントにしかマップできません。ドメイン アカウントでは機能しません。
証明書の拇印を取得するには、Windows PowerShell Cert:
ドライブの Get-Item
コマンドレットまたは Get-ChildItem
コマンドレットを使用します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ComputerName
指定したコンピューターへの永続的な接続 (PSSession) を作成します。 複数のコンピューター名を入力すると、Windows PowerShell によって、コンピューターごとに 1 つずつ、複数の PSSessionsが作成されます。 既定値はローカル コンピューターです。
1 台または複数のリモート コンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名、 localhost
、またはドット (.
) を入力します。 コンピューターがユーザーとは異なるドメインにある場合は、完全修飾ドメイン名が必要です。
コンピューター名を引用符でパイプして New-PSWorkflowSession
することもできます。
ComputerName パラメーターの値に IP アドレスを使用するには、コマンドに Credential パラメーターを含める必要があります。 また、HTTPS トランスポート用にコンピューターを構成するか、リモート コンピューターの IP アドレスをローカル コンピューター上の WinRM TrustedHosts 一覧に含める必要があります。 TrustedHosts リストにコンピューター名を追加する手順については、 about_Remote_Troubleshootingの「信頼できるホストの一覧にコンピューターを追加する方法」を参照してください。
型: | String[] |
Aliases: | Cn |
配置: | 0 |
規定値: | Local computer |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Credential
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。 User01
、Domain01\User01
、User@Domain.com
などのユーザー名を入力するか、PSCredential オブジェクト (Get-Credential
コマンドレットによって返されたものなど) を入力します。
ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。
型: | Object |
配置: | Named |
規定値: | Current user |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-EnableNetworkAccess
このコマンドレットが、ループバック セッションに対話型セキュリティ トークンを追加することを示します。 対話型トークンを使用すると、他のコンピューターからデータを取得するコマンドをループバック セッションで実行できます。 たとえば、リモート コンピューターからローカル コンピューターに XML ファイルをコピーするコマンドをセッションで実行できます。
ループバック セッションは、同じコンピューターで開始および終了する PSSession です。 ループバック セッションを作成するには、 ComputerName パラメーターを指定したり、値を dot (.
)、 localhost
、またはローカル コンピューターの名前に設定したりしないでください。
既定では、リモート コンピューターに対して認証するための十分なアクセス許可を提供しない可能性があるネットワーク トークンを持つループバック セッションが作成されます。
EnableNetworkAccess パラメーターは、ループバック セッションでのみ有効です。 リモート コンピューターでセッションを作成するときに EnableNetworkAccess パラメーターを指定すると、コマンドは成功しますが、パラメーターは無視されます。
セッション資格情報を他のコンピューターに委任する Authentication パラメーターの CredSSP 値を使用して、ループバック セッションでリモート アクセスを許可することもできます。
コンピューターを悪意のあるアクセスから保護するために、対話型トークンを持つ切断されたループバック セッション ( EnableNetworkAccess パラメーターを使用して作成されたもの) は、セッションが作成されたコンピューターからのみ再接続できます。 CredSSP 認証を使用するセッションが切断された場合には、他のコンピューターから再接続することができます。 詳細については、 Disconnect-PSSession
コマンドレットを参照してください。
このパラメーターは Windows PowerShell 3.0 で導入されました。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Name
ワークフロー セッションのフレンドリ名を指定します。 この名前は、 Get-PSSession
や Enter-PSSession
など、他のコマンドレットと共に使用できます。 名前は、コンピューターや現在のセッションで一意である必要ありません。
型: | String[] |
配置: | Named |
規定値: | Session# |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Port
この接続に使用するリモート コンピューター上のネットワーク ポートを指定します。 リモート コンピューターに接続するには、リモート コンピューターで、接続に使用されるポートをリッスンすることが必要です。 既定のポートは、 5985
(HTTP の場合は WinRM ポート) と 5986
(HTTPS の場合は WinRM ポート) です。
別のポートを使用する前に、そのポートでリッスンするようにリモート コンピューター上の WinRM リスナーを構成する必要があります。 リスナーを構成するには、次のコマンドを使用します。
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
必要な場合を除き、 Port パラメーターは使用しないでください。 コマンドのポート設定は、コマンドが実行されるすべてのコンピューターまたはセッションに適用されます。 代替ポートの設定によっては、コマンドがすべてのコンピューターで実行されない場合があります。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SessionOption
セッションの詳細オプションを指定します。 New-PSSessionOption
コマンドレットを使用して作成するオブジェクトなど、SessionOption オブジェクトを入力します。
オプションの既定値は、 $PSSessionOption
設定変数の値 (設定されている場合) によって決まります。 それ以外の場合、既定値はセッション構成で設定されたオプションによって決まります。
セッション オプションの値は、 $PSSessionOption
基本設定変数およびセッション構成で設定されたセッションの既定値よりも優先されます。 ただし、セッション構成で設定された最大値、クォータ、または制限よりも優先されることはありません。 セッション構成の詳細については、「 about_Session_Configurations」を参照してください。
デフォルト値を含むセッション・オプションの説明については、 New-PSSessionOption
を参照してください。
$PSSessionOption
基本設定変数の詳細については、about_Preference_Variablesを参照してください。
型: | PSSessionOption |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ThrottleLimit
このコマンドを実行するために確立できる最大コンカレント接続数を指定します。
このパラメーターを省略するか、 0
(ゼロ) の値を入力すると、 Microsoft.PowerShellWorkflow セッション構成 100
の既定値が使用されます。
スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。
型: | Int32 |
配置: | Named |
規定値: | 100 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UseSSL
このコマンドレットが Secure Sockets Layer (SSL) プロトコルを使用してリモート コンピューターへの接続を確立することを示します。 既定では、SSL は使用されません。
WS-Management は、ネットワークを介して転送されるすべての Windows PowerShell コンテンツを暗号化します。 UseSSL パラメーターは、HTTP 接続ではなく HTTPS 接続を介してデータを送信する追加の保護です。
このパラメーターを指定しても、コマンドに使用されているポートで SSL を使用できない場合、コマンドは失敗します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
このコマンドレットにセッションをパイプできます。
コンピューター名をこのコマンドレットにパイプできます。
出力
メモ
Windows PowerShell には、 New-PSWorkflowSession
の次のエイリアスが含まれています。
nwsn
New-PSWorkflowSession
コマンドは、次のコマンドと同じです。
New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow
関連リンク
PowerShell