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

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

Старожил


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

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


Простой, но некрасивый (с точки зрения организации диалога по выбору файла с именами компьютеров) вариант:
Код: Выделить весь код
strLog = "name_log.txt"
Set objFS = CreateObject("Scripting.FileSystemObject")
strLog = objFS.BuildPath(objFS.GetParentFolderName(WScript.ScriptFullName), strLog)
strFile = Trim(InputBox("Полный путь к файлу:"))
If objFS.FileExists(strFile) Then
	Set objFile = objFS.OpenTextFile(strFile, 1)
	arrComputers = Split(objFile.ReadAll, vbNewLine)
	objFile.Close
	On Error Resume Next
	For i = 0 To UBound(arrComputers)
		If Len(arrComputers(i)) > 0 Then
			Set objWMIService = GetObject("winmgmts:" _
				& "{impersonationLevel=impersonate}!\\" & arrComputers(i) & "\root\cimv2")
			If Err.Number = 0 Then
				Set colComputer = objWMIService.ExecQuery("Select UserName from Win32_ComputerSystem")
				If Err.Number = 0 Then
					For Each objComputer In colComputer
						If IsNull(objComputer.UserName) Then
							strUsers = strUsers & arrComputers(i) & " = сеанс не обнаружен" & vbNewLine
						Else
							strUsers = strUsers & arrComputers(i) & " = " & objComputer.UserName & vbNewLine
						End If
					Next
				Else
					Err.Clear
				End If
				Set colComputer = Nothing
			Else
				Err.Clear
			End If
		End If
	Next
	On Error GoTo 0
	Set objFile = objFS.OpenTextFile(strLog, 2, True)
	objFile.Write strUsers
	objFile.Close
	Set objFile = Nothing
Else
	WScript.Echo "Файл не найден."
End If
Set objFS = Nothing
WScript.Quit 0
Информацию о том, как под Win 7 организовать красивый диалог выбора файла, найдёте здесь:
VBS диалог открытия файла не работает на Windows 7
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:37, 20-01-2012 | #4