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

Показать сообщение отдельно

Ветеран


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

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


На WSH:
читать дальше »
Код: Выделить весь код
Option Explicit

Dim strFolder
Dim strNodeList

Dim strComputer
Dim objSWbemLocator


strFolder   = "c:\Temp"
strNodeList = "E:\Песочница\0351\NodeList.txt"

With WScript.CreateObject("Scripting.FileSystemObject")
	If .FileExists(strNodeList) Then
		
		Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
		
		With .OpenTextFile(strNodeList)
			Do Until .AtEndOfStream
				strComputer = Trim(.ReadLine())
				
				If IsConnected(strComputer) Then
					With objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
						If .ExecQuery("SELECT Name FROM Win32_Directory WHERE Name='" & Replace(strFolder, "\", "\\") & "'").Count = 0 Then
							WScript.Echo strComputer
						End If
					End With
				Else
					WScript.Echo strComputer & " is not found."
				End If
			Loop
			
			.Close
		End With
		
		Set objSWbemLocator = Nothing
	Else
		WScript.Echo "Node list file [" & strNodeList & "] not found."
		WScript.Quit 1
	End If
End With

WScript.Quit 0
'=============================================================================

'=============================================================================
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
'=============================================================================

Если имена недоступных машин Вас не интересуют — закомментируйте выделенное.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:50, 15-01-2014 | #6