Get-WmiObject リモートコンピューター: PowerShellを使用してコンピューターのインベントリを取得する

PowerShellを使用してリモートコンピューターのインベントリを取得する方法は?答えはリモートコンピューターでGet-WmiObjectを使用することです。この記事では完全なチュートリアルを提供します。興味がある場合は、読み続けてください。

Tyler

By Tyler 最後の更新 2025年03月03日

Share this: instagram reddit

リモートでWMIに接続する方法は?

Windows Management Instrumentation (WMI)は、Windowsに組み込まれた管理インフラであり、管理および操作データのクエリに使用されます。実行中のプロセス、インストールされたソフトウェア、BIOS情報など、ローカルおよびリモートコンピュータから情報を取得するために使用することができます。

Get-WmiObjectコマンドレットは、WMIクラスのインスタンスまたは利用可能なWMIクラスに関する情報を取得します。ComputerNameパラメータを使用してリモートコンピュータを指定することで、リモートでWMIに接続することができます。

PowershellのGet-WmiObjectをリモートコンピュータで使用する方法

次に、PowershellのGet-WmiObjectをリモートコンピュータで使用してコンピュータの情報を取得する方法を見ていきましょう。

Queryパラメータが指定されている場合、コマンドレットはWMIクエリ言語(WQL)ステートメントを実行します。Listパラメータが指定されている場合、コマンドレットは指定された名前空間で利用可能なWMIクラスに関する情報を取得します。ComputerNameパラメータはコンピュータを指定するために使用されます。いくつかの例を見てみましょう。

まず、リモートコンピュータへのWMI接続をテストしてみましょう。以下の例は、PC1というリモートコンピュータに対するWMI接続をテストするためのものです。

  • Get-WmiObject -query "SELECT * FROM Win32_OperatingSystem" -ComputerName PC1

Test WMI Connection

また、PowerShellのWMIクラスWin32_Shareを使用してリモートマシンからネットワーク共有リストを列挙することもできます。ここでは、FTはFormat-Tableコマンドレットですが、リストビューで結果を表示するためにFLに変更することもできます。

  • Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share" | FL

Network Share List

Win32_Shareクラスにフィルタを適用するためにSQLクエリのような構文を使用することもできます。以下のPowerShellスクリプトは、フィルタType=0を追加することでネットワーク共有フォルダのみをフィルタし、リストします。

  • Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share Where Type=0" | FT

Network Share Folder

その他の例

Example 1:リモートコンピュータPC1上のサービスを取得します:

,上記のコンテンツを日本語に翻訳してください。翻訳するコンテンツは、HTMLのaタグのhref属性の値やimgタグのsrc属性の値は翻訳しないでください。{{}}内のコンテンツは翻訳の対象外です。Unicode文字は翻訳しないでください。HTMLの構造や属性は変更や修正しないでください。
  • Get-WmiObject -Class Win32_Service -ComputerName PC1

リモートコンピュータ上のサービスも取得するには、Get-WmiObjectリモートコンピュータCredentialを使用します。次の例では、Credentialパラメータを使用しています。Credentialパラメータの値はユーザーアカウント名です。ユーザーはパスワードを入力するように求められます。

  • Get-WmiObjectWin32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam

例2: リモートコンピュータPC1でサービスを停止します:

  • (Get-WmiObject -Class Win32_Service -Filter "name="WinRM"' -ComputerName PC1).StopService()

例3: リモートコンピュータPC1でBIOSを取得します:

  • Get-WmiObject -Class Win32_Bios -ComputerName PC1 | Format-List -Property *

Get-WmiObjectコマンドレットはPowerShell 3.0でGet-CimInstanceに置き換えられました。次のコマンドは、最大から最小にカーネル時間を持つ各実行中のプロセス名を表示します:

  • Get-CimInstance -Class Win32_Process -ComputerName DC1 | Select-Object -Property Name,KernelModeTime | Sort-Object KernelModeTime -Descending

Get WmiObject

AnyViewer: Windows向けのGUIリモートデスクトップソリューション

コンピュータ管理や操作データをより直接的にクエリする方法をお探しの場合は、強くAnyViewerをおすすめします。AnyViewerは無料のリモートデスクトッププログラムで、他のコンピュータからコンピュータをリモートで制御することができます。PowerShellと比較して、直感的で直接的な操作が可能なグラフィカルユーザーインターフェースを提供しています。

無料ダウンロードWin 11/10/8.1/8/7
安全ダウンロード

ステップ1. AnyViewerを両方のコンピュータにダウンロード、インストール、起動します。

Download AnyViewer

ステップ2. ログインに移動し、サインアップをクリックします。(公式ウェブサイトで既にサインアップされている場合は、直接ログインできます。)

Log in AnyViewer

ステップ3. サインアップ情報を入力してください。

Sign Up for AnyViewer

ステップ4. これによって、AnyViewerに正常にログインできることがわかります。デバイスは自動的に、ログインしたアカウントに割り当てられます

Free Editions

ステップ5. 2つのデバイスで同じAnyViewerアカウントにログインし、ワンクリックコントロールをクリックして、アンアテンデッドリモートアクセスを実現してください。

Connect to My Devices

✍注意: アカウントをプロフェッショナルまたはエンタープライズプランにアップグレードすると、以下のような追加の権限が得られます:

  • アンアテンデッドリモートアクセスを実現するために、さらに多くのデバイスを割り当てることができます。
  • より多くの接続履歴をいつでも表示できるように、現在接続中のデバイスが表示されます。
  • リモートコンピュータをプライバシーモードで接続することができ、リモートコンピュータの画面をブラックアウトし、マウスとキーボードをブロックすることで、プライバシーをさらに保護できます。

ステップ6. リモートコンピュータの完全な操作権を手に入れた後、実際に使用しているかのように、任意のプログラムを開き、管理することができます。

AnyViewer Computer Management

要点

この投稿では、遠隔コンピュータ上で PowerShell の Get-WmiObject を使用してコンピュータ情報の在庫を作成する方法についての完全なチュートリアルを提供します。コンピュータ管理と操作データをより直感的な方法でクエリする場合は、AnyViewer を使用することをお勧めします。