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

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。 User01Domain01\User01User@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-PSSessionEnter-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

入力

PSSession

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

String

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

出力

PSSession

メモ

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

  • nwsn

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

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow