0

1 つの Powershell コマンドがリモート マシンで機能するのに、同じコンソールからは別のコマンドが機能しないのはなぜですか?

  1. PS C:> Get-Service -Name WinRM -ComputerName win8

    ステータス名 DisplayName
    ------ ---- -----------
    WinRM Windows リモート管理 (WS-Manag...

  2. PS C:> Get-Counter '\Paging File(*)\% Usage' -ComputerName win8 Get-Counter : 指定されたコンピューターに接続できないか、コンピューターがオフラインです。行:1 文字:1

    • Get-Counter '\Paging File(*)\% Usage' -ComputerName win8
    • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
    • CategoryInfo : InvalidResult: (:) [Get-Counter]、例外
    • FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCount erCommand
4

1 に答える 1

1

Get-Service と Get-Counter は、-ComputerName に別のリモート レイヤーを使用します。Invoke-Command -ComputerName は WinRM リモート処理レイヤーを使用し、Get-Service (私は信じています) はリモート レジストリ呼び出しです。Get-Counter は DCOM 呼び出しです。私は WMI を信じています。

-ComputerName を含むコマンドレットが PowerShell リモート処理レイヤーを使用していることがわからない場合は、おそらく使用されていないというのが、経験則です。PowerShell の V1 には多くのコマンドレットに -ComputerName があり、他の多くのリモート レイヤーは WinRM よりも効率的であるため、多くの -ComputerName パラメーターは独自のレイヤーを使用します。

于 2013-09-19T07:35:10.237 に答える