ГрМакс |
02-12-2008 12:33 969773 |
Параметр LastLogonTimestamp В AD.
Делаю скриптом (VBscript) запрос параметра LastLogonTimestamp в AD, Возвращается время в UNIX-формате (напр. 128718163033593750). Вопрос есть ли на VBScript Функция перевода этого времени в стандартное?
|
ГрМакс, на сайте майкрасофт есть dll - регишь её - и получаешь вкладку Additional account info - там есть ласт логон в нормальном виде.
acctinfo.dll
|
ГрМакс |
03-12-2008 15:05 971143 |
Цитата:
Цитата exo
ГрМакс, на сайте майкрасофт есть dll - регишь её - и получаешь вкладку Additional account info - там есть ласт логон в нормальном виде. »
|
Да спасибо, но речь идет об автоматизировании поиска мертвых душ. Вкладка Additional account info есть но скрипт по прежнему возвращает время в UNIX-формате.
Может кто посоветует как сравнить в скрипте(VBScript) время в UNIX-формате и текущую дату.
|
monkkey |
03-12-2008 15:29 971172 |
ГрМакс,
dsquery user /? не пробовали?
|
ГрМакс |
04-12-2008 10:56 971985 |
Цитата:
Цитата monkkey
ГрМакс,
dsquery user /? не пробовали? »
|
Пробовали. Тогда вопрос как передать возвращаемые значения обратно в VBScript?
Т.к. по задумке скрипт будет отключать записи, через какое-то время, спрашивая, удалять их, вести лог и др.
|
ГрМакс |
04-12-2008 18:12 972407 |
Всем спасибо вопрос решился.
Кому интересно вот кусок кода:
Код:
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
|
Время: 02:19.
© OSzone.net 2001-