PowerShellを使用してリモートコンピューターのインベントリを取得する方法は?答えはリモートコンピューターでGet-WmiObjectを使用することです。この記事では完全なチュートリアルを提供します。興味がある場合は、読み続けてください。
Windows Management Instrumentation (WMI)は、Windowsに組み込まれた管理インフラであり、管理および操作データのクエリに使用されます。実行中のプロセス、インストールされたソフトウェア、BIOS情報など、ローカルおよびリモートコンピュータから情報を取得するために使用することができます。
Get-WmiObjectコマンドレットは、WMIクラスのインスタンスまたは利用可能なWMIクラスに関する情報を取得します。ComputerNameパラメータを使用してリモートコンピュータを指定することで、リモートでWMIに接続することができます。
次に、PowershellのGet-WmiObjectをリモートコンピュータで使用してコンピュータの情報を取得する方法を見ていきましょう。
Queryパラメータが指定されている場合、コマンドレットはWMIクエリ言語(WQL)ステートメントを実行します。Listパラメータが指定されている場合、コマンドレットは指定された名前空間で利用可能なWMIクラスに関する情報を取得します。ComputerNameパラメータはコンピュータを指定するために使用されます。いくつかの例を見てみましょう。
まず、リモートコンピュータへのWMI接続をテストしてみましょう。以下の例は、PC1というリモートコンピュータに対するWMI接続をテストするためのものです。
また、PowerShellのWMIクラスWin32_Shareを使用してリモートマシンからネットワーク共有リストを列挙することもできます。ここでは、FTはFormat-Tableコマンドレットですが、リストビューで結果を表示するためにFLに変更することもできます。
Win32_Shareクラスにフィルタを適用するためにSQLクエリのような構文を使用することもできます。以下のPowerShellスクリプトは、フィルタType=0を追加することでネットワーク共有フォルダのみをフィルタし、リストします。
その他の例
Example 1:リモートコンピュータPC1上のサービスを取得します:
,上記のコンテンツを日本語に翻訳してください。翻訳するコンテンツは、HTMLのaタグのhref属性の値やimgタグのsrc属性の値は翻訳しないでください。{{}}内のコンテンツは翻訳の対象外です。Unicode文字は翻訳しないでください。HTMLの構造や属性は変更や修正しないでください。リモートコンピュータ上のサービスも取得するには、Get-WmiObjectリモートコンピュータCredentialを使用します。次の例では、Credentialパラメータを使用しています。Credentialパラメータの値はユーザーアカウント名です。ユーザーはパスワードを入力するように求められます。
例2: リモートコンピュータPC1でサービスを停止します:
例3: リモートコンピュータPC1でBIOSを取得します:
注
Get-WmiObjectコマンドレットはPowerShell 3.0でGet-CimInstanceに置き換えられました。次のコマンドは、最大から最小にカーネル時間を持つ各実行中のプロセス名を表示します:
コンピュータ管理や操作データをより直接的にクエリする方法をお探しの場合は、強くAnyViewerをおすすめします。AnyViewerは無料のリモートデスクトッププログラムで、他のコンピュータからコンピュータをリモートで制御することができます。PowerShellと比較して、直感的で直接的な操作が可能なグラフィカルユーザーインターフェースを提供しています。
ステップ1. AnyViewerを両方のコンピュータにダウンロード、インストール、起動します。
ステップ2. ログインに移動し、サインアップをクリックします。(公式ウェブサイトで既にサインアップされている場合は、直接ログインできます。)
ステップ3. サインアップ情報を入力してください。
ステップ4. これによって、AnyViewerに正常にログインできることがわかります。デバイスは自動的に、ログインしたアカウントに割り当てられます。
ステップ5. 2つのデバイスで同じAnyViewerアカウントにログインし、ワンクリックコントロールをクリックして、アンアテンデッドリモートアクセスを実現してください。
✍注意: アカウントをプロフェッショナルまたはエンタープライズプランにアップグレードすると、以下のような追加の権限が得られます:
ステップ6. リモートコンピュータの完全な操作権を手に入れた後、実際に使用しているかのように、任意のプログラムを開き、管理することができます。
この投稿では、遠隔コンピュータ上で PowerShell の Get-WmiObject を使用してコンピュータ情報の在庫を作成する方法についての完全なチュートリアルを提供します。コンピュータ管理と操作データをより直感的な方法でクエリする場合は、AnyViewer を使用することをお勧めします。