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-PSWorkflowSessionnwsnすることもできます。

このコマンドにワークフロー共通パラメーターを追加することもできます。 ワークフロー共通パラメーターの詳細については、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 パラメーターを使用して、ドメイン管理者のアクセス権で実行します。

"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
Accept pipeline input:True
Accept wildcard characters:False
-Authentication

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

  • Default
  • Basic
  • Credssp
  • ダイジェスト
  • Kerberos
  • ネゴシエート
  • 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
Accept pipeline input:False
Accept wildcard characters:False
-CertificateThumbprint

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

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

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

Type:String
Position:Named
Default value:None
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
Accept pipeline input:True
Accept wildcard characters:False
-Credential

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

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

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

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

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

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

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

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

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

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

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

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

Type:String[]
Position:Named
Default value:Session#
Accept pipeline input:False
Accept wildcard characters: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 パラメーターを使用しないでください。 コマンドのポート設定は、コマンドが実行されるすべてのコンピューターまたはセッションに適用されます。 代替ポートの設定によっては、コマンドがすべてのコンピューターで実行されない場合があります。

Type:Int32
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False
-ThrottleLimit

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

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

Type:Int32
Position:Named
Default value:100
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
Accept pipeline input:False
Accept wildcard characters:False

入力

System.Management.Automation.Runspaces.PSSession[], System.String

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

出力

PSSession

メモ

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

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow