次の方法で共有


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 セッション構成が使用されます。これには、スクリプト、型と書式設定のファイル、ワークフローに必要なオプションが含まれます。

またはそのエイリアスnwsnを使用New-PSWorkflowSessionできます。

このコマンドにワークフロー共通パラメーターを追加することもできます。 ワークフロー共通パラメーターの詳細については、about_WorkflowCommonParametersを参照してください

このコマンドレットは、Windows PowerShell 3.0 で導入されました。

例 1: リモート コンピューターでワークフロー セッションを作成する

この例では、 ServerNode01 リモート コンピューターに WorkflowTests セッションを作成します。

$params = @{
    ComputerName = "ServerNode01"
    Name = "WorkflowTests"
    SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params

SessionOption パラメーターの値は、New-PSSessionOptionセッションの出力バッファリング モードを Drop に設定するコマンドです

例 2: 複数のリモート コンピューターでワークフロー セッションを作成する

この例では、ServerNode01 コンピューターと Server12 コンピューターにワークフロー セッションを作成します。 このコマンドでは、Credential パラメーターを使用して、doメイン 管理者のアクセス許可を使用して実行します。

"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 プロパティの値と一致する必要があります。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Authentication

ユーザー資格情報の認証に使用するメカニズムを指定します。 このパラメーターの有効値は、次のとおりです。

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

既定値は Default です。

CredSSP 認証は、Windows Vista、Windows Server 2008、およびそれ以降のバージョンの Windows オペレーティング システムでのみ使用できます。

このパラメーターの値の詳細については、「AuthenticationMechanism 列挙型」を参照してください

注意

資格情報セキュリティ サービス プロバイダー (CredSSP) 認証は、ユーザー資格情報が認証されるリモート コンピューターに渡される認証で、リモート ネットワーク共有へのアクセスなど、複数のリソースで認証を必要とするコマンド用に設計されています。 このメカニズムを使用すると、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡される資格情報を使用してネットワーク セッションが制御される場合があります。

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

この処理を実行するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書の拇印を入力します。

証明書は、クライアント証明書ベースの認証で使用されます。 これらの証明書は、ローカル ユーザー アカウントにしかマップできません。ドメイン アカウントでは機能しません。

証明書の拇印を取得するには、Windows PowerShell Cert: ドライブのコマンドレットまたはGet-ChildItemコマンドレットを使用Get-Itemします。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

指定したコンピューターへの永続的な接続 (PSSession) を作成します。 複数のコンピューター名を入力すると、Windows PowerShell によって、コンピューターごとに 1 つずつ、複数 の PSSession が作成されます。 既定値はローカル コンピューターです。

1 台または複数のリモート コンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名または localhostドット (.) を入力します。 コンピューターがユーザーとは異なるドメインにある場合は、完全修飾ドメイン名が必要です。 コンピューター名を引用符で囲 New-PSWorkflowSessionんでパイプすることもできます。

ComputerName パラメーターの値に IP アドレスを使用するには、コマンドに Credential パラメーターを含める必要があります。 また、HTTPS トランスポート用にコンピューターを構成するか、リモート コンピューターの IP アドレスをローカル コンピューター上の WinRM TrustedHosts 一覧に含める必要があります。 TrustedHosts リストにコンピューター名を追加する手順については、about_Remote_Troubleshootingの「信頼できるホストの一覧にコンピューターを追加する方法」を参照してください。

Type:String[]
Aliases:Cn
Position:0
Default value:Local computer
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Credential

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。 などのユーザー名を入力するかUser@Domain.comUser01Domain01\User01コマンドレットによって返されるなど、PSCredential オブジェクトをGet-Credential入力します。

ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。

Type:Object
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableNetworkAccess

このコマンドレットが、ループバック セッションに対話型セキュリティ トークンを追加することを示します。 対話型トークンを使用すると、他のコンピューターからデータを取得するコマンドをループバック セッションで実行できます。 たとえば、リモート コンピューターからローカル コンピューターに XML ファイルをコピーするコマンドをセッションで実行できます。

ループバック セッションは、 同じコンピューター上で開始および終了する PSSession です。 ループバック セッションを作成するには、ComputerName パラメーターを指定したり、値を dot (.)localhost、またはローカル コンピューターの名前に設定したりしないでください。

既定では、リモート コンピューターに対して認証するための十分なアクセス許可を提供しない可能性があるネットワーク トークンを持つループバック セッションが作成されます。

EnableNetworkAccess パラメーターは、ループバック セッションでのみ有効です。 リモート コンピューターでセッションを 作成するときに EnableNetworkAccess パラメーターを指定すると、コマンドは成功しますが、パラメーターは無視されます。

セッション資格情報を他のコンピューターに委任する認証パラメーターの CredSSP 値を 使用して、ループバック セッションでリモート アクセスを許可 することもできます。

コンピューターを悪意のあるアクセスから保護するために、対話型トークンを持つ切断されたループバック セッション (EnableNetworkAccess パラメーターを使用して作成されたもの) は、セッションが作成されたコンピューターからのみ再接続できます。 CredSSP 認証を使用するセッションが切断された場合には、他のコンピューターから再接続することができます。 詳細については、コマンドレットを Disconnect-PSSession 参照してください。

このパラメーターは Windows PowerShell 3.0 で導入されました。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

ワークフロー セッションのフレンドリ名を指定します。 この名前は、Get-PSSessionEnter-PSSession他のコマンドレットと共に使用できます。 名前は、コンピューターや現在のセッションで一意である必要ありません。

Type:String[]
Position:Named
Default value:Session#
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Port

この接続に使用するリモート コンピューター上のネットワーク ポートを指定します。 リモート コンピューターに接続するには、リモート コンピューターで、接続に使用されるポートをリッスンすることが必要です。 既定のポートは (HTTP の場合は 5985 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 パラメーターを使用しないでください。 コマンドのポート設定は、コマンドが実行されるすべてのコンピューターまたはセッションに適用されます。 代替ポートの設定によっては、コマンドがすべてのコンピューターで実行されない場合があります。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionOption

セッションの詳細オプションを指定します。 コマンドレットを 使用して作成した SessionOption オブジェクトなど、SessionOption オブジェクトを New-PSSessionOption 入力します。

オプションの既定値は、設定されている場合、基本設定変数の $PSSessionOption 値によって決まります。 それ以外の場合、既定値はセッション構成で設定されたオプションによって決まります。

セッション オプションの値は、基本設定変数とセッション構成で設定されたセッションの $PSSessionOption 既定値よりも優先されます。 ただし、セッション構成で設定された最大値、クォータ、または制限よりも優先されることはありません。 セッション構成の詳細については、「 about_Session_Configurations」を参照してください。

デフォルト値を含むセッション・オプションの説明については、以下を参照してください New-PSSessionOption。 基本設定変数の詳細$PSSessionOptionについては、about_Preference_Variablesを参照してください

Type:PSSessionOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

このコマンドを実行するために確立できる最大コンカレント接続数を指定します。 このパラメーターを省略するか、値 0 (ゼロ) を入力すると、100Microsoft.PowerShellWorkflow セッション構成の既定値が使用されます。

スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。

Type:Int32
Position:Named
Default value:100
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

このコマンドレットが Secure Sockets Layer (SSL) プロトコルを使用してリモート コンピューターへの接続を確立することを示します。 既定では、SSL は使用されません。

WS-Management は、ネットワークを介して転送されるすべての Windows PowerShell コンテンツを暗号化します。 UseSSL パラメーターは、HTTP 接続ではなく HTTPS 接続を介してデータを送信する追加の保護です。

このパラメーターを指定しても、コマンドに使用されているポートで SSL を使用できない場合、コマンドは失敗します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

PSSession

このコマンドレットにセッションをパイプできます。

String

コンピューター名をこのコマンドレットにパイプできます。

出力

PSSession

メモ

Windows PowerShell には、次のエイリアスが New-PSWorkflowSession含まれています。

  • nwsn

New-PSWorkflowSessionコマンドは、次のコマンドと同じです。

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow