Hey,
stehe wieder vor einem neuen Problem.
Das Active directory Abfragen ob ein Konto vorhaden ist und wenn ja,
letztes Logandatum ausgeben..
Kann mir jemand einen Tipp geben..
Hey,
stehe wieder vor einem neuen Problem.
Das Active directory Abfragen ob ein Konto vorhaden ist und wenn ja,
letztes Logandatum ausgeben..
Kann mir jemand einen Tipp geben..
Hiermit kannst du prüfen ob ein Account besteht.
Zu dem Logon Datum hab ich grad keine Idee, dazu ist mir die AD-Materie zu fremd.
$strUserName = "kenmyer" ; <== gesuchter User Account
[/autoit][autoit][/autoit][autoit]$objConnection = ObjCreate("ADODB.Connection")
$objConnection.Open "Provider=ADsDSOObject;"
$objCommand = ObjCreate("ADODB.Command")
$objCommand.ActiveConnection = $objConnection
$objCommand.CommandText = _
";(&(objectCategory=User)" & _
"(samAccountName=" & $strUserName & "));samAccountName;subtree"
$objRecordSet = $objCommand.Execute
If $objRecordset.RecordCount = 0 Then
ConsoleWrite( "sAMAccountName: " & $strUserName & " does not exist." & @CRLF)
Else
ConsoleWrite( $strUserName & " exists." & @CRLF)
EndIf
$objConnection.Close
Edit
Hab hier was gefunden für die Logonzeit.
Kommandozeilenbefehl:
dsquery * -Filter "(&(objectcategory=computer)(operatingsystem=*windows 2000*))" -attr lastlogon name
Edit 2
Aber lies dir uf jeden Fall mal das hier durch:
http://blogs.technet.com/deds/archive/2…tive-logon.aspx
Hey,
danke guter bericht ![]()
habe auch gerade was gefunden ![]()
$strQuery = "<LDAP://" & $strHostServer & "/" & $strDNSDomain & ">;(sAMAccountName=" & $user & ");ADsPath;subtree"
$objRecordSet = $objConnection.Execute($strQuery) ; Retrieve the FQDN for the object
$ldap_entry = $objRecordSet.fields(0).value
$oObject = _ADObjGet($ldap_entry) ; Retrieve the COM Object for the object
$result = $oObject.LastLogin
$oObject.PurgePropertyList
If $result = "" Then
Return ""
Else
Return $result
EndIf
Func _ADObjGet($dn)
If $alt_userid = "" Then
Return ObjGet($dn)
Else
Return $objOpenDS.OpenDSObject($dn, $alt_userid, $alt_password, BitOR(0x200, 0x1))
EndIf
EndFunc
Kann es aber leider erst morgen testen habe leider auf meiner VM kein DC aber ich glaube es zu verstehen,
ich glaube es aber auch nur ... ![]()
Hey,
biun schon am testen und Kriege diesen fehler hat jemand eine idee?
[autoit]$strUserName = "kenmyer" ; <== gesuchter User Account
[/autoit][autoit][/autoit][autoit]$objConnection = ObjCreate("ADODB.Connection")
$objConnection.Open = "Provider=ADsDSOObject"
$objCommand = ObjCreate("ADODB.Command")
$objCommand.ActiveConnection = $objConnection
$objCommand.CommandText = _
";(&(objectCategory=User)" & _
"(samAccountName=" & $strUserName & "));samAccountName;subtree"
$objRecordSet = $objCommand.Execute
If $objRecordset.RecordCount = 0 Then
ConsoleWrite( "sAMAccountName: " & $strUserName & " does not exist." & @CRLF)
Else
ConsoleWrite( $strUserName & " exists." & @CRLF)
EndIf
$objConnection.Close
(13) : ==> The requested action with this object has failed.:
Hast Du Dir auf https://autoit.de/www.autoitscript.com die adfunctions UDF schon mal angesehen (kann derzeit keinen Link einbauen, da die Site down ist)? Die kann das und vieles mehr.
Das mit dem LastLogonDate ist so ein Problem. Da es ewig dauert, bis das Datum auf alle AD Server repliziert ist, hilft für ein genaues Datum nur zuerst die Liste aller AD-Server zu erstellen und dann jeden nach dem Datum abzufragen. Ergebnis ist dann das "höchste" Datum aller AD-Server.