|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Вывод информации о ПК по сети |
|
|
VBS/WSH/JS - [решено] Вывод информации о ПК по сети
|
|
Новый участник Сообщения: 9 |
Добрый вечер, есть задачка никак не получается её решить. Суть в следующем скрипт выдает информацию о ПК в виде
все замечательно за исключением того что на ПК есть ещё два виртуальных сетевых интерфейса, соответственно скрипт выдает мне первый попавшийся ip mac.
Помогите решить задачу, как заставить скрипт выводить один сетевой интерфейс или записать их друг за другом так 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)
|
|
|
Отправлено: 01:04, 19-02-2015 |
|
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать думаю вначале стоило собрать информацию о имени компа и текущем пользователе
а выдачу ответа на консоль вставить в цикле получения информации об IP-адресе и MAC тогда ты получишь несколько строк Измененный код
on error resume next
strComputer = Wscript.Arguments.Item(0)
' Use "." (local computer) if no computer-name was entered
if strComputer = "" then
strComputer="."
end if
' GET HOST NETBIOS NAME
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
info_nbname = objItem.Name
' WScript.Echo "MAC Address for Computer Name: " & host & " is " & macinfo 'Uncomment to display
Next
Else
info_nbname = strComputer
End If
' GET CURRENT USER
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_ComputerSystem")
For Each objItem In colItems
info_user = objItem.UserName
Next
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("NEW LAUNCH")
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)
info_ip = IPConfig.IPAddress(i)
Next
'WScript.Echo IPConfig.MacAddress
info_mac = IPConfig.MacAddress
strLine = info_user & "," & info_mac & "," & info_ip & "," & info_nbname
objFile.WriteLine(strLine)
MsgBox(strLine)
End If
Next
objFile.Close
wscript.quit(0)
Обращаю внимание, что я немного поменял названия переменных, чтоб немного понимать, где наши целевые значения находятся |
|
Отправлено: 15:36, 19-02-2015 | #2 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Сбор информации с принтеров по сети | DJ Mogarych | Хочу все знать | 23 | 19-04-2017 10:37 | |
| CMD/BAT - Как в .bat сделать вывод информации правах? | Eugene Shugaev | Скриптовые языки администрирования Windows | 4 | 12-03-2014 11:55 | |
| Мониторинг ПК в сети (состояние ПК (вкл/выкл), запущенность определенного ПО) | Ariezzy | Хочу все знать | 1 | 10-03-2013 03:30 | |
| Вывод информации из MySQL | Moon Mag | Вебмастеру | 12 | 09-01-2009 18:44 | |
| Вывод информации на двух мониторах | Guest | Программирование и базы данных | 1 | 26-07-2004 15:39 | |
|