Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Список ПК из сетевого окружения

Ответить
Настройки темы
Список ПК из сетевого окружения

Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день всем.

Искал поиском, но ничего интересного не нашел...

Подскажите плиз может ли AutoIT подхватить инфу о всех ПК, которые находятся в сетевом окружении домена/рабочей группы - соответственно с подхватом имени ПК ???

Отправлено: 17:58, 27-09-2010

 

Ветеран


Сообщения: 903
Благодарности: 161

Профиль | Отправить PM | Цитировать


посмотрите здесь http://autoit-script.ru/index.php/topic,2136.0.html
Может быть поможет...

-------
мы рождены, чтоб сказку сделать былью


Отправлено: 03:05, 28-09-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ну как я понял там подхват ПК из сети идет через "CheckLAN.exe"... а хорошо бы было, чтобы имена компов хватались без различного рода програмулек. В том же примере подключается библиотека "<WinAPIEx.au3>" - тока благодаря тебе о ее существовании я и узнал найти бы что-нить в виде библиотеки, но только для работы с сетью.

Отправлено: 10:06, 28-09-2010 | #3


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


---Zak---,
Проверить не могу, но попробуйте так:
Код: Выделить весь код
; Generated by AutoIt ScriptOMatic

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"

$OutputTitle = ""
$Output = ""
$OutputTitle &= "Computer: " & $strComputer & @CRLF
$OutputTitle &= "==========================================" & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_UserInDomain", "WQL", _
        $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) Then
    Local $Object_Flag = 0
    For $objItem In $colItems
        $Object_Flag = 1
        $Output &= "GroupComponent: " & $objItem.GroupComponent & @CRLF
        $Output &= "PartComponent: " & $objItem.PartComponent & @CRLF
        If MsgBox(1, "WMI Output", $Output) = 2 Then ExitLoop
        $Output = ""
    Next
    If $Object_Flag = 0 Then MsgBox(1, "WMI Output", $OutputTitle)
Else
    MsgBox(0, "WMI Output", "No WMI Objects Found for class: " & "Win32_UserInDomain")
EndIf
ScriptOmatic. Там еще много чего полезного найти можно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:21, 28-09-2010 | #4


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибки огромное... теперь надо это все перевести под себя

Удобная штука + очень много всего в ней - спасибки еще раз. Пойду теперь голову ломать

Отправлено: 12:43, 28-09-2010 | #5


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Самое что странное, то это в этих классах есть только вывод пользователей и групп, а вот имен ПК - в упор не нашел =( Может она по другому называется ?

madmasles, Win32_UserInDomain - это все же все пользователи домена, но не имена ПК заметил, когда пинговал ПК, а их нет... но все равно спс - уже вытащил от туда много что интересное

Отправлено: 16:52, 28-09-2010 | #6


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


---Zak---,
Посмотрите еще здесь вернуть имена подключений по локальной сети.

Отправлено: 17:17, 28-09-2010 | #7


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


madmasles,
Ну там просто выводится "локальное подключение 2" в строке...

ДА ладно - я решил сделать сервер-клиент для обработки всей этой штуки и буду так передавать айпишники и имена ПК.
Просто интересно существует ли такая функция уже готовая.

Я просто форму хочу сделать на которой будут кнопки с именами ПК, которые в оффе или он-лайне, но без всяких дополнительных программ.

Отправлено: 17:44, 28-09-2010 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ---Zak---:
Подскажите плиз может ли AutoIT подхватить инфу о всех ПК, которые находятся в сетевом окружении домена/рабочей группы - соответственно с подхватом имени ПК ???
Примерно так:
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Local $oShell = ObjCreate("Shell.Application")
Local $oFolder_Network
Local $oFolder_EntireNetwork

Local $objFolder_MSNetwork

Local $oFolder_Domain
Local $oFolder_MachineName

Local $oFolderItem
Local $oFolderItem_Domain
Local $oFolderItem_MachineName


; Получение папки "Сетевое окружение"
$oFolder_Network       = $oShell.NameSpace("::{208D2C60-3AEA-1069-A2D7-08002B30309D}")
; Получение папки "Вся сеть"
$oFolder_EntireNetwork = $oFolder_Network.Items().Item("EntireNetwork").GetFolder

; Получение папки "Microsoft Windows Network"
For $oFolderItem In $oFolder_EntireNetwork.Items()
    If $oFolderItem.Name = "Microsoft Windows Network" Then
        $objFolder_MSNetwork = $oFolderItem.GetFolder
        
        If IsObj($objFolder_MSNetwork) Then
            ; Перебор доменов и рабочих групп
            For $oFolderItem_Domain In $objFolder_MSNetwork.Items()
                If $oFolderItem_Domain.IsFolder Then
                    ConsoleWrite($oFolderItem_Domain.Path & " [" & $oFolderItem_Domain.Name & "]" & @CRLF)
                    
                    $oFolder_Domain = $oFolderItem_Domain.GetFolder
                    
                    If IsObj($oFolder_Domain) Then
                        ; Перебор компьютеров
                        For $oFolderItem_MachineName In $oFolder_Domain.Items()
                            ConsoleWrite(@TAB & $oFolderItem_MachineName.Path & " [" & $oFolderItem_MachineName.Name & "]" & @CRLF)
                        Next
                    Else
                        ConsoleWriteError(@TAB & "Can't connect to [" & $oFolderItem_Domain.Name & "]" & @CRLF)
                    EndIf
                EndIf
            Next
        Else
            ConsoleWriteError(@TAB & "Can't find [Microsoft Windows Network]" & @CRLF)
        EndIf
        
        ExitLoop
    EndIf
Next

Exit(0)
На основе: vbscript: перебор компьютеров в лок. сети через "Сетевое окружение".

Последний раз редактировалось Iska, 30-01-2013 в 12:36. Причина: Гиперссылка вновь рабочая

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:14, 01-10-2010 | #9


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибки огромное... то что надо

Отправлено: 15:09, 08-10-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Список ПК из сетевого окружения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
WINS/Browse - список сетевого окружения в домене leonnash Сетевые технологии 2 08-01-2009 16:18
Нет сетевого окружения curast Microsoft Windows NT/2000/2003 1 10-07-2008 12:26
Нет сетевого окружения... arena Microsoft Windows 95/98/Me (архив) 3 27-11-2003 17:38
тормоза сетевого окружения iivlad Сетевые технологии 1 25-07-2003 15:57
Настройка сетевого окружения Irvix Сетевые технологии 3 22-07-2003 11:34




 
Переход