Тема: VBS: Преобразование даты lastlogon в нормальный вид
Помогите плиз, написал скрипт проверки даты регистрации компов в домене, на моей машине работает, на другой нет, в написании скриптов не специалист, вот код:
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 "Сбор данных закончен"
Используйте BBCode для оформления кода.