VladKor
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Dim fso, dcmp, acmp Set fso = CreateObject("Scripting.FileSystemObject") Set dcmp = fso.OpenTextFile ("dead_cmp_list.txt", 2, True) Set acmp = fso.OpenTextFile ("act_cmp_list.txt", 2, True) Set objShell = CreateObject("WScript.Shell") Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 arrComputers = Array(".") For Each strComputer In arrComputers Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\directory\LDAP") Set colItems = objWMIService.ExecQuery("SELECT * FROM ds_computer", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colItems if (objItem.DS_lastLogon(Value) = 0) Then dcmp.WriteLine "Компьютер: " & objItem.DS_cn & vbTab & "нет данных о регистрации " else acmp.WriteLine "Компьютер: " & objItem.DS_cn & vbTab & "регистрировался: " & WMIDateStringToDate(objItem.DS_lastLogon) end if Next Next Function WMIDateStringToDate(dtmDate) N = objItem.DS_lastLogon(Value) WMIDateStringToDate = CDate(DateSerial(1601, 1, 1) + N/1e7/86400) End Function WScript.Echo "Сбор данных закончен" |