ネットワーク全体でWMICコマンドを実行する


7

これをコマンドプロンプトに1つずつ入力する代わりに、

wmic / node:ipaddress / user:administrator / password:mypassword bios get serialnumber

それを1つのサブネット全体に対して実行してテキストドキュメントに出力するにはどうすればよいですか?コンピューターの在庫を確認するために数か月ごとにこれを行うので、これを手動で行う代わりにバッチスクリプトで実行できるはるかに簡単な方法があると思います。

回答:


13

の後node: node:ip1,ip2,ip3にリストを置くか、ファイルを使用できます。node:@fileすべてのIPアドレスをファイルに入れて実行します。

wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv

これは、ユーザー/パスワードがすべてのマシンで同じであることを前提としています。


失敗した出力ファイルのコンソールを一覧表示する方法はありますか?「RPCが利用できません」などの応答があります。そのため、どのRPCに戻って確認する必要があるのか​​を知りたいのですが。
C-dizzle

@ C-dizzle stderrをファイルにリダイレクトできます。`2> log.txt`を使用します(コマンドラインの前に追加するwmicか、コマンドラインの最後に追加してから分析できます。追加することもできます/failfast:on
wmz

私はその部分を正しく行う必要はありません。それをコマンドに追加する方法の例を教えていただけますか?
C-dizzle

2>log.txt wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csvまたはwmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv 2>log.txt(両方とも1行である必要があります)
wmz

2

ファイルリダイレクトを使用したforループは機能しますが、ノードセットにさらに多くの穴がある場合(つまり、ループ内のIPを解決できない場合)、しばらく待機させておくことができます。

(FOR /L %s IN (1,1,254) DO wmic /node:192.96.1.%s /user:administrator /password:pass bios get serialnumber) >> c:\results.txt

バッチファイルでこれを置くことを計画している場合は、交換してください%s%%s。以上です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.