トップ回答者
PowerShellで端末情報の取得

質問
-
こんにちは はじめまして
PowerShellをつかって以下のような作業をしたいと思っています。
・数十台あるPC(win-xp)から1台づつ端末の情報を取得したい
・取得したい情報は、コンピュータ名、MACアドレス、シリアル番号 等です。
・csv形式で1つのファイルに追記していく。
(つまり、1行に1台分の情報が追記されていく感じです。取得した情報はカンマ区切りで1行に。)
以前はこんなスクリプトで取得していました。
(すみません初心者なもので、いろいろなサイトを周ってつぎはぎで作りました・・・)
-------------------------------------------------------------------
Set wsh = WScript.CreateObject("WScript.Shell")
computername = wsh.ExpandEnvironmentStrings("%COMPUTERNAME%") & ","
username = wsh.ExpandEnvironmentStrings("%USERNAME%") & ","
Set exe = wsh.Exec("ipconfig.exe")
Do Until exe.StdOut.AtEndOfStream
strLine = exe.StdOut.ReadLine
If InStr(strLine, "IP Address") <> 0 Then
iColon = Instr(strLine, ":")
ipaddress = Mid(strLine, iColon + 2)
ipaddress = Replace(ipaddress, vbCr, "") & ","
End If
Loop'MACAddress
Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer
Set QfeSet = Service.ExecQuery("Select * From Win32_NetworkAdapterConfiguration")
For Each Qfe In QfeSet
If Qfe.IPEnabled = True Then
Ret3 = Ret3 & Qfe.MACAddress & ","
End If
Next
・
・
------------------------------------------------------------------------------------------------
実は前後に、その端末の管理番号の入力(inputbox)とcsvへの出力処理があります。これをPowerShellで、そもそも可能なのかというところすら解らない状態です・・・
なにかヒント、アドバイスがあればご教授いただきたいと思います。宜しくお願いします
回答
すべての返信
-
可能です。
ところで質問者さんは何を尋ねたいのでしょうか? まさか全文をPowerShellで書き直す仕事を依頼したいとか?すみません 言葉足らずでした。
>・・・まさか全文をPowerShellで書き直す仕事を依頼したいとか?
やりたい事はまさにおっしゃる通りの事をしたいと思っています。
「仕事を依頼」とは本心をつかれてしまい返す言葉もございません・・・。
実は業務上改修が必要になってしまい、どうせ作り直すなら、と思った次第です。
しかしながら、さすがに厚かましいお願いになってしまいますので可能であれば、なにか
1つでもヒントになるようなサンプルがあると広げていけるのではと思っています。
特にわからない所として、取得した情報をカンマ区切りで1レコードにするところです。Get-WmiObject Win32_ComputerSystem
だと、縦に?ずらっと情報が出てきますが、それをどのように加工(処理)すればよいのでしょうか。
宜しくお願いいたします。