web-dev-qa-db-ja.com

PowerShellスクリプトエラー:RPCサーバーが利用できません

私はゆっくりとPowershellで足を濡らしているので、私は新しい初心者です。 PSにPCのリストをテキストファイルから取得させ、App Identity Serviceのステータスを知らせようとしています。基本的なスクリプトはエラーになります(下記)。 $ ErrorActionPreference = 'SilentlyContinueステートメントに追加しましたが、エラーは表示されませんが、スクリプトは停止します。最初の2つの結果が表示され、その後エラーになります。何か案は?

$ErrorActionPreference = 'SilentlyContinue'
$path = 'C:\Users\user\Documents\list.txt'
$pc = Get-Content $path
gwmi win32_service -ComputerName $pc | where name -like "APPIDSVC" | select SystemName,startmode,state | Out-GridView

これが私のエラーです(アクセス拒否)

gwmi : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
At line:3 char:1
+ gwmi win32_service -ComputerName $pc | where name -like "APPIDSVC" |  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], COMException
    + FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

gwmi : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
At line:3 char:1
+ gwmi win32_service -ComputerName $pc | where name -like "APPIDSVC" |  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
1
Stevie Zee

それぞれのwinrm quickconfigを実行して、ターゲットエンドポイントでリモート管理を有効にします。 (たくさんある場合は、GPOまたはSCCMのようなツールで構成できます。)

これにより、着信PowerShell管理をリッスンするサービスが開始されます。さらに、ファイアウォールがポート5985と5986を許可して、このサービスが機能することを確認する必要があります。

お気づきのように、PowerShellを使用してリモートで管理(またはクエリ)するために使用しているアカウントには、ターゲットマシンのローカル管理者権限も必要です。これを解決する優れた方法は、Active Directoryに「サーバー管理者」グループを作成し、グループポリシーオブジェクトを使用して、このグループをすべてのサーバーのローカル管理者グループに追加することです(ドメインコントローラーを除く 。)次に、システム管理者用に個別のサーバー管理者アカウントを作成し(これらは標準の日常使用アカウントとは別で、ドメイン管理者であるアカウントとは別である必要があります)、これらのアカウントを「サーバー管理者」グループに配置します。

1
SturdyErde

だから私は私のPSをドメイン管理者として実行する場合、それが続くことを知りました。私は運が良かったと思い、私の解決策を見つけました。

0
Stevie Zee