Показать полную графическую версию : Параметр LastLogonTimestamp В AD.
Делаю скриптом (VBscript) запрос параметра LastLogonTimestamp в AD, Возвращается время в UNIX-формате (напр. 128718163033593750). Вопрос есть ли на VBScript Функция перевода этого времени в стандартное?
ГрМакс, на сайте майкрасофт есть dll - регишь её - и получаешь вкладку Additional account info - там есть ласт логон в нормальном виде.
acctinfo.dll (http://exonix.ru/acctinfo.dll)
http://exonix.ru/accinfo.jpg
ГрМакс, на сайте майкрасофт есть dll - регишь её - и получаешь вкладку Additional account info - там есть ласт логон в нормальном виде. »
Да спасибо, но речь идет об автоматизировании поиска мертвых душ. Вкладка Additional account info есть но скрипт по прежнему возвращает время в UNIX-формате.
Может кто посоветует как сравнить в скрипте(VBScript) время в UNIX-формате и текущую дату.
ГрМакс,
dsquery user /? не пробовали?
ГрМакс,
dsquery user /? не пробовали? »
Пробовали. Тогда вопрос как передать возвращаемые значения обратно в VBScript?
Т.к. по задумке скрипт будет отключать записи, через какое-то время, спрашивая, удалять их, вести лог и др.
Всем спасибо вопрос решился.
Кому интересно вот кусок кода:
Option Explicit
Dim ObjExec,WshShell,s,IsBreak,ArrS,ColStr,ColFiles,i
Set WshShell = WScript.CreateObject("WScript.Shell")
Set ObjExec=WshShell.Exec("dsquery computer -inactive 24")
s=""
IsBreak=False
Do While True
If (Not ObjExec.StdOut.AtEndOfStream) Then
s=s+ObjExec.StdOut.ReadAll
End If
If IsBreak Then
Exit Do
End If
If ObjExec.Status=1 Then
IsBreak=True
Else
WScript.Sleep 100
End If
Loop
ArrS=Split(s,vbCrLf)
ColFiles=UBound(ArrS)
For i=0 To ColFiles-1
s = ArrS(i)
msgbox DosToWin(S)
Next
Function DosToWin(S)
Dim i,k,ss
ss=""
For i=1 To Len(S)
k = Asc(Mid(s,i,1))
If (128 <= k) And (k <= 175) Then
k=k+64
ElseIf (224 <= k) And (k <= 239) Then
k=k+16
ElseIf k = 240 Then
k=168
ElseIf k = 241 Then
k=184
End If
ss=ss+Chr(k)
Next
DosToWin=ss
End Function
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.