ja-JP/about_Remote.help.txt

TOPIC
    about_Remote

簡単な説明
    PowerShell でリモートコマンドを実行する方法について説明します。

詳細な説明
    一時的または永続的な接続を使って、1 台または複数台のリモートコンピュー
    ターでリモートコマンドを実行できます。また、1 台のリモートコンピューター
    と対話型セッションを開始することもできます。

    メモ: PowerShell リモート処理を使うには、ローカルコンピューターとリモート
    コンピューターの両方をリモート処理用に構成する必要があります。詳しくは、
    about_Remote_Requirements を参照してください。

  対話型セッションを開始する方法

    リモートコマンドを実行する最も簡単な方法は、リモートコンピューターとの対
    話型セッションを開始することです。

    セッションを開始すると、入力したコマンドはリモートコンピューターで直接入
    力したかのようにリモートコンピューターで実行されます。各対話型セッション
    で接続できるのは 1 台のコンピューターだけです。

    対話型セッションを開始するには、Enter-PSSession コマンドレットを使います。
    次のコマンドは、Server01 コンピューターとの対話型セッションを開始します。

        Enter-PSSession Server01

    PowerShell は、コマンドプロンプトにリモートコンピューターの名前を含めるよ
    うに変更します。

        Server01\PS>

    これで、Server01 コンピューターでコマンドを入力できます。

    対話型セッションを終了するには、次のように入力します。

        Exit-PSSession

    詳しくは、Enter-PSSession を参照してください。

  リモートコマンドを実行する方法

    リモートコンピューターで他のコマンドを実行するには、Invoke-Command コマン
    ドレットを使います。

    1 つのコマンド、または互いに関連しない少数のコマンドを実行するには、
    Invoke-Command の ComputerName パラメーターでリモートコンピューターを指定
    します。ScriptBlock パラメーターでコマンドを指定します。

    たとえば、次のコマンドは Server01 コンピューターで Get-Culture コマンドを
    実行します。

        Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Culture}

  永続的な接続を作成する方法

    Invoke-Command コマンドレットの ComputerName パラメーターを使うと、
    PowerShell はリモートコンピューターへの一時的な接続を確立します。コマンド
    が完了すると、その接続は閉じられます。この一時セッションで定義された変数や
    関数は失われます。

    リモートコンピューターへの永続的な接続を作成するには、New-PSSession コマ
    ンドレットを使います。たとえば、次のコマンドは Server01 と Server02 のコン
    ピューターに PSSession を作成し、その PSSession を $s 変数に保存します。

        $s = New-PSSession -ComputerName Server01, Server02

  PSSession でコマンドを実行する方法

    PSSession を使うと、関数、エイリアス、変数の値などのデータを共有する一連
    のリモートコマンドを実行できます。PSSession でコマンドを実行するには、
    Invoke-Command コマンドレットの Session パラメーターを使います。

    たとえば、次のコマンドは Invoke-Command コマンドレットを使い、Server01 と
    Server02 のコンピューターの PSSession で Get-Process コマンドを実行します。
    このコマンドは、各 PSSession の $p 変数にプロセスを保存します。

        Invoke-Command -Session $s -ScriptBlock {$p = Get-Process}

    PSSession は永続的な接続を使うため、同じ PSSession で $p 変数を使う別のコ
    マンドを実行できます。次のコマンドは、$p に保存されたプロセスの数を数えま
    す。

        Invoke-Command -Session $s -ScriptBlock {$p.Count}

  複数のコンピューターでリモートコマンドを実行する方法

    複数のコンピューターでリモートコマンドを実行するには、Invoke-Command の
    ComputerName パラメーターの値にすべてのコンピューター名を入力します。名前
    はコンマで区切ります。

    たとえば、次のコマンドは 3 台のコンピューターで Get-Culture コマンドを実行
    します。

        Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture}

    複数の PSSession でコマンドを実行することもできます。次のコマンドは
    Server01、Server02、Server03 のコンピューターに PSSession を作成し、各
    PSSession で Get-Culture コマンドを実行します。

        $s = New-PSSession -ComputerName S1, S2, S3
        Invoke-Command -Session $s -ScriptBlock {Get-Culture}

    コンピューターの一覧にローカルコンピューターを含めるには、ローカルコン
    ピューターの名前を入力するか、ドット (.) を入力するか、localhost と入力し
    ます。

        Invoke-Command -ComputerName S1, S2, S3, localhost -ScriptBlock {Get-Culture}

  リモートコンピューターでスクリプトを実行する方法

    リモートコンピューターでローカルスクリプトを実行するには、Invoke-Command
    の FilePath パラメーターを使います。ファイルをコピーする必要はありません。
    たとえば、次のコマンドは S1 と S2 のコンピューターで Sample.ps1 スクリプト
    を実行します。

        Invoke-Command -ComputerName S1, S2 -FilePath C:\Test\Sample.ps1

    PowerShell は、スクリプトの結果をローカルコンピューターに返します。

  リモートコマンドを停止する方法

    コマンドを中断するには、Ctrl+C キーを押します。PowerShell は中断要求をリ
    モートコンピューターに渡し、リモートコンピューターでリモートコマンドが終了
    します。

  詳細情報

    - リモート処理のシステム要件については、about_Remote_Requirements を参照し
      てください。

    - リモート出力の書式設定については、about_Remote_Output を参照してくださ
      い。

    - リモート処理の仕組み、リモートデータの管理方法、特別な構成、セキュリ
      ティの問題、その他のよくある質問については、PowerShell リモート処理に関す
      る FAQ を参照してください。

    - リモート処理エラーの解決については、about_Remote_Troubleshooting を参照
      してください。

    - PSSession と永続的な接続については、about_PSSessions を参照してくださ
      い。

    - PowerShell のバックグラウンドジョブについては、about_Jobs を参照してく
      ださい。

関連項目
    about_Remote_Disconnected_Sessions
    about_Remote_Variables
    Invoke-Command
    Enter-PSSession
    New-PSSession

----
原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP