objNetwork não ofuscante
Ajustar o objNetwork = o CreateObject (“WScript.Network”)
Ajustar o oRoot = o GetObject (“LDAP: //RootDSE”)
se getLastLogin (objNetwork.UserName) = “1-1-1970” então
msgbox “primeiro início de uma sessão”
mais
o msgbox “loged dentro antes”
terminar se
getLastLogin da função (username)
lastDate = “1-1-1970”
sConfigNamingContext = oRoot.Get (“configurationNamingContext”)
Ajustar o oADOCommand = o CreateObject (“ADODB.Command”)
Ajustar o oADOConnection = o CreateObject (“ADODB.Connection”)
oADOConnection.Provider = “ADsDSOObject”
oADOConnection.Open “fornecedor ativo do diretório”
oADOCommand.ActiveConnection = oADOConnection
sADOQuery = “; (ObjectClass=nTDSDSA); AdsPath; subtree”
oADOCommand.CommandText = sADOQuery
oADOCommand.Properties (de “tamanho página”) = 100
oADOCommand.Properties (“intervalo de parada”) = 30
oADOCommand.Properties (o “esconderijo resulta”) = falso
Ajustar o oRecordSet = o oADOCommand.Execute
Fazer até oRecordSet.EOF
Ajustar o oDC = o GetObject (GetObject (oRecordSet.Fields (“AdsPath”)). Pai)
Ajustar conexão = CreateObject (“ADODB.Connection”)
conexões. Fornecedor = “ADSDSOObject”
conexão. Abrir dos “o fornecedor anúncios”
strLDAP = “; (& (objectCategory=User) (sAMAccountName=” & username & ")); adspath; subtree "
Ajustar o oComm = o CreateObject (“ADODB.Command”)
oComm.ActiveConnection = conexão
oComm.CommandText = strLDAP
Ajustar rs = oComm.Execute
Quando não rs.EOF
Ajustar FoundObject = GetObject (rs. Campos (0). Valor)
No resumo do erro em seguida
se datediff (“s”, lastDate, FoundObject.LastLogin) > 0 então
lastDate = FoundObject.LastLogin
terminar se
rs.MoveNext
Wend
oRecordSet.MoveNext
Laço
oADOConnection.Close
getLastLogin = lastDate
getLastLogin da função do fim '
|