Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Включен ли компютер в локальной сети? (http://forum.oszone.net/showthread.php?t=290830)

iccup.platoon@vk 12-11-2014 08:37 2428274

Включен ли компютер в локальной сети?
 
Приветствую, гуру.
Сколько не искал - никак не могу найти код, который просто напросто быстро определял - в сети ли компьютер. Что-то типа

Код:

sComp = 192.168.0.1
' некая проверяющая строка
    If Компьютер_С_Адресом_sComp включен Then
          ' операции при Комп_Включен = True
    Else
          ' операции при Комп_Включен = False
    End If

Буду очень-очень рад вашей помощи... Жду с нетерпением.

Iska 12-11-2014 09:57 2428303

Цитата:

Цитата iccup.platoon@vk
Сколько не искал - никак не могу найти код, который просто напросто быстро определял - в сети ли компьютер. Что-то типа »

Смотрите здесь. Разумеется, если машина закрыта для пинга — не увидите.

iccup.platoon@vk 13-11-2014 06:08 2428749

Iska, да, получилось. Огромное спасибо! Если интересно - вот что я делал:
Код:

Set WS  = CreateObject("WScript.Shell")
set fso = createobject("Scripting.FileSystemObject")
set a  = createobject("Excel.Application.12")
set b  = a.workbooks.Add 'открываем книгу
set s  = b.sheets(1) 'номер листа в книге
        for i = 1 to 36
                s.Cells(1,i).Clear 'очищаем 36 ячеек вниз
                s.Columns(1).ColumnWidth = 20 'настраиваем ширину ячеек
        Next
s.Cells(1,1).Value = "Java"
s.Cells(1,1).Font.Bold = True
For sInt  = 1 to 36
        sInt2 = sInt + 1
        sPath = "\\192.168.0."&sInt&"\C\Program Files\Java\jre7\bin\java.exe"
        If IsConnected("\\192.168.0."&sInt) Then
                sVer = CreateObject("Scripting.FileSystemObject").GetFileVersion(sPath)
                s.Cells(sInt2,1).Value = sVer
        Else
                s.Cells(sInt2,1).Value = "Connection error"
                s.Cells(sInt2,1).Interior.Color = RGB(255,0,0)
        End If
Next
s.SaveAs("D:\A.xlsx") 'Save As - он и есть Save As
b.close true 'закроем книгу, сохранив изменения
a.quit 'закроем Excel
MsgBox "Done"

Function IsConnected(strAddress)
        Dim objSWbemObjectEx
       
        IsConnected = False
       
        For Each objSWbemObjectEx In GetObject( _
                "winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery( _
                "SELECT * FROM Win32_PingStatus WHERE Address = '" & strAddress & "'")
               
                With objSWbemObjectEx
                        If Not IsNull(.StatusCode) And .StatusCode = 0 Then
                                IsConnected = True
                        End If
                End With
               
                Exit For
        Next
       
        Set objSWbemObjectEx = Nothing
End Function



Время: 18:34.

Время: 18:34.
© OSzone.net 2001-