私は vbscript でスクリプトを作成しようとしていますが、ほぼ初心者であり、オンライン チュートリアルが機能しなかったため、ここに投稿して助けを求めることに頼らなければなりませんでした。
さまざまなソースから組み合わせて一致させたスクリプトは、ドメイン、ユーザー、コンピューター名、IP アドレスを表示します。スクリプトは機能しています。ただし、特定の環境では、ユーザーが複数の IP アドレスを持つ可能性があり、MsgBox に表示すると、最後の IP アドレスの結果のみが返され、多くの場合、これは間違っています。
アドレスを配列に追加/保存し、複数の結果があった場合に MsgBox に他の IP アドレスを表示させる方法を知りたいです。
ありがとうございました。
以下にスクリプトを添付します。
Option Explicit
DIM WshNetwork, strComputer, IPConfigSet, objWMIService, IPConfig, i, j, strIP, title, message, colItems, objItem
DIM arrIPAddress, columnC, strIPAddress, testIP(3)
Set WshNetwork = WScript.CreateObject("WScript.Network")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_NetworkAdapterConfiguration",,48)
For Each objItem in colItems
If isNull(objItem.IPAddress) Then
Else
Wscript.Echo "IPAddress: " & Join(objItem.IPAddress, ",")
strIP = objItem.IPAddress(0)
End If
Next
title = "Who Am I?"
message = "Domain: " & vbTab & vbTab & WshNetwork.UserDomain & VbCrlf & _
"User Name: " & vbTab & UCase(WshNetwork.UserName) & VbCrlf & _
"Computer Name: " & vbTab & WshNetwork.ComputerName & VbCrlf & _
"IP Address1: " & vbTab & strIP
Msgbox message, , title