Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Определение включенных компьютеров в сети / 16 сообщений из 16, страница 1 из 1
03.08.2010, 20:20
    #36773868
Dumm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
Здравствуйте!
Есть такая проблема... Нужно определить включенные компы в сети (в домене). Машин довольно много, поэтому будет сканироваться весь диапазон адресов 0..255. Любое обращение к компу (попытка открытия файла, определение имени по IP-шнику) занимает продолжительное время, если данный комп выключен или вовсе отсутствует.
Нужно что-то вроде ping, только в VB среде. Использование WinSock тоже не годится, так как нужно тогда на каждую машину ставить клиента. Как просканировать IP-шники и быстро определить включенные машины средствами VB?
Спасибо.
...
Рейтинг: 0 / 0
03.08.2010, 20:21
    #36773871
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
...
Рейтинг: 0 / 0
03.08.2010, 20:27
    #36773878
Dumm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
Спасибо, попробую.
...
Рейтинг: 0 / 0
04.08.2010, 08:20
    #36774238
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
также можно попробовать
Код: plaintext
net view
ответ около секунды и список компов готов
...
Рейтинг: 0 / 0
04.08.2010, 09:05
    #36774277
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
HandKotтакже можно попробовать
Код: plaintext
net view
ответ около секунды и список компов готов

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit

Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long

Public Sub Main()
    Dim ws As New IWshRuntimeLibrary.WshShell, s As String, ss As String
    Dim f As New IWshRuntimeLibrary.FileSystemObject
    
    s = ws.Exec("D:\WINDOWS\system32\net.exe view").StdOut.ReadAll
    ss = s
    OemToChar ss, s
    
    Debug.Print s
End Sub
...
Рейтинг: 0 / 0
04.08.2010, 09:14
    #36774289
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
Точнее так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit

Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long

Public Sub Main()
    Dim ws As New IWshRuntimeLibrary.WshShell, s As String, ss As String
    Dim f As New Scripting.FileSystemObject
    
    s = ws.Exec(f.GetSpecialFolder(SystemFolder) & "\net.exe view").StdOut.ReadAll
    ss = s
    OemToChar ss, s
    
    Debug.Print s
End Sub

Но так мелькает окошко консоли - чтобы оно не мелькало нужно вызывать net view используя CreateProcess, скрывая консоль и перехватывая тот же StdOut...
...
Рейтинг: 0 / 0
04.08.2010, 09:34
    #36774323
kiv-1980
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
HandKotтакже можно попробовать
Код: plaintext
net view
ответ около секунды и список компов готов
К сожалению у утилиты net, нет возможности вывести IP адрес машины. Чаще всего пригождается IP адрес, а не имя компа в сети. А так работает она быстро.
...
Рейтинг: 0 / 0
04.08.2010, 10:39
    #36774468
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
для автора, нужно было
автор Нужно определить включенные компы в сети (в домене).
а получив список компов, можно определить и их адреса

при помощи PING можно определить адреса доступных компов, но при наличии более одной подсети, кол-во циклов для определения возрастает в неколько раз
...
Рейтинг: 0 / 0
04.08.2010, 14:08
    #36775107
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
> Автор: Dumm
> Здравствуйте!
> Есть такая проблема... Нужно определить включенные компы в сети (в домене). Машин довольно много,

Я вот не совсем понимаю, у админов есть спец-утилиты, которые мониторят кто и что делается в сети зачем ещё один
велосипед???

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
04.08.2010, 14:47
    #36775223
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
Игорь Горбонос
> Автор: Dumm
> Здравствуйте!
> Есть такая проблема... Нужно определить включенные компы в сети (в домене). Машин довольно много,

Я вот не совсем понимаю, у админов есть спец-утилиты, которые мониторят кто и что делается в сети зачем ещё один
велосипед???



Мне это нужно было когда писал скрипт.
В скрипте на доступные компы раскидывались задания.
Получилось что-то вида "распределенных вычислений"
...
Рейтинг: 0 / 0
19.04.2011, 04:09
    #37221734
GekoO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
AndrFТочнее так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit

Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long

Public Sub Main()
    Dim ws As New IWshRuntimeLibrary.WshShell, s As String, ss As String
    Dim f As New Scripting.FileSystemObject
    
    s = ws.Exec(f.GetSpecialFolder(SystemFolder) & "\net.exe view").StdOut.ReadAll
    ss = s
    OemToChar ss, s
    
    Debug.Print s
End Sub

Но так мелькает окошко консоли - чтобы оно не мелькало нужно вызывать net view используя CreateProcess, скрывая консоль и перехватывая тот же StdOut...


Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long -> бУдет выдаваться ошибка "Константы, ряды устанавливаемой длины, масивы, определяемые пользователем типы и инструкции Declare, не позволенны как общие участники объектных модулей"
...
Рейтинг: 0 / 0
19.04.2011, 09:03
    #37221826
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
GekoOбУдет выдаваться ошибка "Константы, ряды устанавливаемой длины, масивы, определяемые пользователем типы и инструкции Declare, не позволенны как общие участники объектных модулей "
Так и не надо размещать этот код в объектном модуле
...
Рейтинг: 0 / 0
19.04.2011, 09:08
    #37221833
Irenka19953
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
Привет)
...
Рейтинг: 0 / 0
19.04.2011, 09:41
    #37221893
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
Irenka19953Привет)
интересно, 19953 - это год рождения?..
...
Рейтинг: 0 / 0
19.04.2011, 10:42
    #37222016
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
> Автор: Shocker.Pro
> +
> Irenka19953
> Привет)
> интересно, 19953 - это год рождения?..

Ставлю бутылку тёмного гёссера на март девяносто пятого


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
19.04.2011, 12:57
    #37222411
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение включенных компьютеров в сети
Игорь Горбонос> Автор: Shocker.Pro
> +
> Irenka19953
> Привет)
> интересно, 19953 - это год рождения?..


Ставлю бутылку тёмного гёссера на март девяносто пятого



ставлю бутыль Jameson-а, что её зовут Ирина
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Определение включенных компьютеров в сети / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]