Вывод информации о ПК по сети
Добрый вечер, есть задачка никак не получается её решить. Суть в следующем скрипт выдает информацию о ПК в виде
Код:
Domain\User,00:50:56:C0:00:08,192.168.12.1,PC_Name
все замечательно за исключением того что на ПК есть ещё два виртуальных сетевых интерфейса, соответственно скрипт выдает мне первый попавшийся ip mac.
Код:
10.10.12.1
F4:6D:04:07:88:AD
192.168.13.1
00:50:56:C0:00:01
192.168.12.1
00:50:56:C0:00:08
Помогите решить задачу, как заставить скрипт выводить один сетевой интерфейс или записать их друг за другом
Код:
так
Domain\User,F4:6D:04:07:88:AD,10.10.12.1,PC_Name
или так
Domain\User,F4:6D:04:07:88:AD,10.10.12.1,PC_Name
Domain\User,00:50:56:C0:00:08,192.168.12.1,PC_Name
Domain\User,00:50:56:C0:00:01,192.168.13.1,PC_Name
Сам скрипт
Код:
On error resume next
strComputer = Wscript.Arguments.Item(0)
If strComputer = "" Then strComputer="." 'Use "." (local computer) if no computer-name was entered
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
WScript.Echo IPConfig.IPAddress(i)
StrIP = IPConfig.IPAddress(i)
Next
WScript.Echo IPConfig.MacAddress
macinfo = IPConfig.MacAddress
End If
Next
If strComputer = "." Then
Set objWMIService = GetObject( "winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
'Grab the netbios name of each computer
For Each objItem in colItems
host = objItem.Name
' WScript.Echo "MAC Address for Computer Name: " & host & " is " & macinfo 'Uncomment to display
Next
Else
host = strComputer
End If
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_ComputerSystem")
For Each objItem In colItems
user = objItem.UserName
Next
strLine = user & "," & macinfo & "," & strIP & "," & host
Dim objFile, objFolder, objFSO
Dim strFolder, strFile, strLine
strFolder = "c:\"
strFile = "USERS.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
set objFile = nothing
' For auditing, we want APPEND mode to track all MAC/IPs for the computer
Const ForAppending = 8
Set objFile = objFSO.OpenTextFile (strFolder & strFile, ForAppending, True)
' Write Computer Name, MAC address, IP Address(es) and Date to a text file
objFile.WriteLine(strLine)
objFile.Close
wscript.quit(0)
|