Jump to content

Active Directory UDF - Help & Support (III)


water
 Share

Recommended Posts

The UDF keeps the connection open until you close it.

Could you use a

Consolewrite(@MIN & ":" & @SEC & "." & @MSEC & @LF)

after each call to a _AD_* function so we know where the time is being spent?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Hi, the function _AD_IsObjectLocked does always return 0
 

This code ist working:

Func _IsObjectLocked($sFQDN)
    $objuser = ObjGet("LDAP://" & $sFQDN)
    $objLockout = $objUser.get("lockouttime")

    If Not IsObj($objLockout) Then Return ;not locked

    If $objLockout.lowpart = 0 And $objLockout.highpart = 0 Then
        Return ;not locked
    Else
        Return 1 ;locked
    EndIf
EndFunc

Maybe you can merge this somehow...

Link to comment
Share on other sites

Which version of the UDF do you use?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Did it work with an older version of the UDF?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Never mind. It should work with the current version anyway.

Can you please post the code you use with _AD_IsObjectLocked?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Never mind. It should work with the current version anyway.

Can you please post the code you use with _AD_IsObjectLocked?

#include <AD.au3>

_AD_Open()

If _AD_IsObjectLocked("timtest") Then
    ConsoleWrite("locked" & @CRLF)
Else
    ConsoleWrite("not locked" & @CRLF)
EndIf

_AD_Close()

Always "not locked" !!!

BTW the other function _AD_UnlockObject() works fine.

Edited by Tim33
Link to comment
Share on other sites

Could you try this and post the result?

#include <AD.au3>

_AD_Open()

If _AD_IsObjectLocked("timtest") Then
    ConsoleWrite("locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
Else
    ConsoleWrite("not locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
EndIf

_AD_Close()

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Could you try this and post the result?

#include <AD.au3>

_AD_Open()

If _AD_IsObjectLocked("timtest") Then
    ConsoleWrite("locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
Else
    ConsoleWrite("not locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
EndIf

_AD_Close()

 

 

>"C:ProgrammeAutoIt3SciTEAutoIt3WrapperAutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:AutoItislockedtest.au3" /UserParams    

+>13:06:31 Starting AutoIt3Wrapper v.2.2.0.0 SciTE v.3.4.1.0   Keyboard:00000407  OS:WIN_XP/Service Pack 3  CPU:X64 OS:X86    Environment(Language:0407)

+>         SciTEDir => C:ProgrammeAutoIt3SciTE

>Running AU3Check (3.3.10.2)  from:C:ProgrammeAutoIt3  input:C:AutoItislockedtest.au3

+>13:06:31 AU3Check ended.rc:0

>Running:(3.3.10.2):C:ProgrammeAutoIt3autoit3.exe "C:AutoItislockedtest.au3"    

--> Press Ctrl+Alt+F5 to Restart or Ctrl+Break to Stop

not locked. @error = 0, @extened = 0

+>13:06:32 AutoIt3.exe ended.rc:0

+>13:06:32 AutoIt3Wrapper Finished.

>Exit code: 0    Time: 1.028

Link to comment
Share on other sites

OK. So no error happened.

Another try to get better error information:

#include <AD.au3>
 _AD_Open()
 If _AD_IsObjectLockedEX("timtest") Then
     ConsoleWrite("locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
 Else     
ConsoleWrite("not locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
_AD_Close()
EndIf

Func _AD_IsObjectLockedEX($sObject = @UserName)

    If Not _AD_ObjectExists($sObject) Then Return SetError(1, 0, 0)
    Local $sProperty = "sAMAccountName"
    If StringMid($sObject, 3, 1) = "=" Then $sProperty = "distinguishedName"; FQDN provided
    $__oAD_Command.CommandText = "<LDAP://" & $sAD_HostServer & "/" & $sAD_DNSDomain & ">;(" & $sProperty & "=" & $sObject & ");ADsPath;subtree"
    Local $oRecordSet = $__oAD_Command.Execute ; Retrieve the ADsPath for the object
    Local $sLDAPEntry = $oRecordSet.fields(0).Value
    Local $oObject = __AD_ObjGet($sLDAPEntry) ; Retrieve the COM Object for the object
    Local $oLockoutTime = $oObject.LockoutTime
    ; Object is not locked out
    If Not IsObj($oLockoutTime) Then Return SetError(10, 0, 0)
    ; Calculate lockout time (UTC)
    Local $sLockoutTime = _DateAdd("s", Int(__AD_LargeInt2Double($oLockoutTime.LowPart, $oLockoutTime.HighPart) / (10000000)), "1601/01/01 00:00:00")
    ; Object is not locked out
    If $sLockoutTime = "1601/01/01 00:00:00" Then Return SetError(11, 0, 0)
    ; Get password info - Account Lockout Duration
    Local $aTemp = _AD_GetPasswordInfo($sObject)
    ; if lockout duration is 0 (= unlock manually by admin needed) then no calculation is necessary. Set @error to -1 (minutes till the account is unlocked)
    If $aTemp[5] = 0 Then Return SetError(-1, 0, 1)
    ; Calculate when the lockout will be reset
    Local $sResetLockoutTime = _DateAdd("n", $aTemp[5], $sLockoutTime)
    ; Compare to current date/time (UTC)
    Local $sNow = _Date_Time_GetSystemTime()
    $sNow = _Date_Time_SystemTimeToDateTimeStr($sNow, 1)
    If $sResetLockoutTime >= $sNow Then Return SetError(_DateDiff("n", $sNow, $sResetLockoutTime), 0, 1)
        Return SetError(12, 0, 0)

EndFunc   ;==>_AD_IsObjectLocked

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

 

OK. So no error happened.

Another try to get better error information:

#include <AD.au3>
 _AD_Open()
 If _AD_IsObjectLockedEX("timtest") Then
     ConsoleWrite("locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
 Else     
ConsoleWrite("not locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
_AD_Close()
EndIf

Func _AD_IsObjectLockedEX($sObject = @UserName)

    If Not _AD_ObjectExists($sObject) Then Return SetError(1, 0, 0)
    Local $sProperty = "sAMAccountName"
    If StringMid($sObject, 3, 1) = "=" Then $sProperty = "distinguishedName"; FQDN provided
    $__oAD_Command.CommandText = "<LDAP://" & $sAD_HostServer & "/" & $sAD_DNSDomain & ">;(" & $sProperty & "=" & $sObject & ");ADsPath;subtree"
    Local $oRecordSet = $__oAD_Command.Execute ; Retrieve the ADsPath for the object
    Local $sLDAPEntry = $oRecordSet.fields(0).Value
    Local $oObject = __AD_ObjGet($sLDAPEntry) ; Retrieve the COM Object for the object
    Local $oLockoutTime = $oObject.LockoutTime
    ; Object is not locked out
    If Not IsObj($oLockoutTime) Then Return SetError(10, 0, 0)
    ; Calculate lockout time (UTC)
    Local $sLockoutTime = _DateAdd("s", Int(__AD_LargeInt2Double($oLockoutTime.LowPart, $oLockoutTime.HighPart) / (10000000)), "1601/01/01 00:00:00")
    ; Object is not locked out
    If $sLockoutTime = "1601/01/01 00:00:00" Then Return SetError(11, 0, 0)
    ; Get password info - Account Lockout Duration
    Local $aTemp = _AD_GetPasswordInfo($sObject)
    ; if lockout duration is 0 (= unlock manually by admin needed) then no calculation is necessary. Set @error to -1 (minutes till the account is unlocked)
    If $aTemp[5] = 0 Then Return SetError(-1, 0, 1)
    ; Calculate when the lockout will be reset
    Local $sResetLockoutTime = _DateAdd("n", $aTemp[5], $sLockoutTime)
    ; Compare to current date/time (UTC)
    Local $sNow = _Date_Time_GetSystemTime()
    $sNow = _Date_Time_SystemTimeToDateTimeStr($sNow, 1)
    If $sResetLockoutTime >= $sNow Then Return SetError(_DateDiff("n", $sNow, $sResetLockoutTime), 0, 1)
        Return SetError(12, 0, 0)

EndFunc   ;==>_AD_IsObjectLocked

 

Yes custimzed SORRY :)

now it works:

>Running AU3Check (3.3.10.2)  from:C:ProgrammeAutoIt3  input:C:AutoItislockedtest.au3

+>14:16:29 AU3Check ended.rc:0

>Running:(3.3.10.2):C:ProgrammeAutoIt3autoit3.exe "C:AutoItislockedtest.au3"    

--> Press Ctrl+Alt+F5 to Restart or Ctrl+Break to Stop

not locked. @error = 12, @extened = 0

+>14:16:30 AutoIt3.exe ended.rc:0

+>14:16:30 AutoIt3Wrapper Finished.

>Exit code: 0    Time: 1.192

Edited by Tim33
Link to comment
Share on other sites

I copied your code and it runs just fine here. I use AutoIt 3.3.1.0.2 as well.

Do you have a custimzed version of the AD UDF lying around somewhre?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Water,

I outputted the _AD_ timings to a VAR and then dumped it results to a file. Please find the contents below. Also, I used _AD_Open only once.

The times for Windows 8:

09:10:30.444 - _AD_GetGroupMembers - Start
09:10:30.694 - _AD_GetGroupMembers - End
09:10:30.694 - _AD_GetObjectProperties For 115 Users.
09:10:30.694 - _AD_GetObjectProperties For User 1 - Start
09:10:42.913 - _AD_GetObjectProperties For User 1 - End
09:10:42.913 - _AD_GetObjectProperties For User 2 - Start
09:10:49.038 - _AD_GetObjectProperties For User 2 - End
09:10:49.038 - _AD_GetObjectProperties For User 3 - Start
09:11:01.304 - _AD_GetObjectProperties For User 3 - End
09:11:01.304 - _AD_GetObjectProperties For User 4 - Start
09:11:10.570 - _AD_GetObjectProperties For User 4 - End
09:11:10.570 - _AD_GetObjectProperties For User 5 - Start
09:11:18.461 - _AD_GetObjectProperties For User 5 - End
09:11:18.461 - _AD_GetObjectProperties For User 6 - Start
09:11:27.759 - _AD_GetObjectProperties For User 6 - End
09:11:27.759 - _AD_GetObjectProperties For User 7 - Start
09:11:41.431 - _AD_GetObjectProperties For User 7 - End
09:11:41.431 - _AD_GetObjectProperties For User 8 - Start
09:11:51.213 - _AD_GetObjectProperties For User 8 - End
09:11:51.213 - _AD_GetObjectProperties For User 9 - Start
09:12:00.026 - _AD_GetObjectProperties For User 9 - End
09:12:00.026 - _AD_GetObjectProperties For User 10 - Start
09:12:11.058 - _AD_GetObjectProperties For User 10 - End
09:12:11.058 - _AD_GetObjectProperties For User 11 - Start
09:12:20.730 - _AD_GetObjectProperties For User 11 - End
09:12:20.730 - _AD_GetObjectProperties For User 12 - Start
09:12:24.793 - _AD_GetObjectProperties For User 12 - End
09:12:24.793 - _AD_GetObjectProperties For User 13 - Start
09:12:35.278 - _AD_GetObjectProperties For User 13 - End
09:12:35.278 - _AD_GetObjectProperties For User 14 - Start
09:12:47.263 - _AD_GetObjectProperties For User 14 - End
09:12:47.263 - _AD_GetObjectProperties For User 15 - Start
09:12:59.795 - _AD_GetObjectProperties For User 15 - End
09:12:59.795 - _AD_GetObjectProperties For User 16 - Start
09:13:03.576 - _AD_GetObjectProperties For User 16 - End
09:13:03.576 - _AD_GetObjectProperties For User 17 - Start
09:13:16.389 - _AD_GetObjectProperties For User 17 - End
09:13:16.389 - _AD_GetObjectProperties For User 18 - Start
09:13:26.890 - _AD_GetObjectProperties For User 18 - End
09:13:26.890 - _AD_GetObjectProperties For User 19 - Start
09:13:37.749 - _AD_GetObjectProperties For User 19 - End
09:13:37.749 - _AD_GetObjectProperties For User 20 - Start
09:13:45.328 - _AD_GetObjectProperties For User 20 - End
09:13:45.328 - _AD_GetObjectProperties For User 21 - Start
09:13:56.735 - _AD_GetObjectProperties For User 21 - End
09:13:56.735 - _AD_GetObjectProperties For User 22 - Start
09:14:10.579 - _AD_GetObjectProperties For User 22 - End
09:14:10.579 - _AD_GetObjectProperties For User 23 - Start
09:14:21.595 - _AD_GetObjectProperties For User 23 - End
09:14:21.595 - _AD_GetObjectProperties For User 24 - Start
09:14:32.049 - _AD_GetObjectProperties For User 24 - End
09:14:32.049 - _AD_GetObjectProperties For User 25 - Start
09:14:43.112 - _AD_GetObjectProperties For User 25 - End
09:14:43.112 - _AD_GetObjectProperties For User 26 - Start
09:14:55.113 - _AD_GetObjectProperties For User 26 - End
09:14:55.113 - _AD_GetObjectProperties For User 27 - Start
09:15:06.066 - _AD_GetObjectProperties For User 27 - End
09:15:06.066 - _AD_GetObjectProperties For User 28 - Start
09:15:14.551 - _AD_GetObjectProperties For User 28 - End
09:15:14.551 - _AD_GetObjectProperties For User 29 - Start
09:15:22.911 - _AD_GetObjectProperties For User 29 - End
09:15:22.911 - _AD_GetObjectProperties For User 30 - Start
09:15:31.755 - _AD_GetObjectProperties For User 30 - End
09:15:31.755 - _AD_GetObjectProperties For User 31 - Start
09:15:41.287 - _AD_GetObjectProperties For User 31 - End
09:15:41.287 - _AD_GetObjectProperties For User 32 - Start
09:15:49.303 - _AD_GetObjectProperties For User 32 - End
09:15:49.303 - _AD_GetObjectProperties For User 33 - Start
09:15:59.506 - _AD_GetObjectProperties For User 33 - End
09:15:59.506 - _AD_GetObjectProperties For User 34 - Start
09:16:09.647 - _AD_GetObjectProperties For User 34 - End
09:16:09.647 - _AD_GetObjectProperties For User 35 - Start
09:16:20.085 - _AD_GetObjectProperties For User 35 - End
09:16:20.085 - _AD_GetObjectProperties For User 36 - Start
09:16:31.727 - _AD_GetObjectProperties For User 36 - End
09:16:31.727 - _AD_GetObjectProperties For User 37 - Start
09:16:41.899 - _AD_GetObjectProperties For User 37 - End
09:16:41.899 - _AD_GetObjectProperties For User 38 - Start
09:16:52.618 - _AD_GetObjectProperties For User 38 - End
09:16:52.618 - _AD_GetObjectProperties For User 39 - Start
09:17:05.775 - _AD_GetObjectProperties For User 39 - End
09:17:05.775 - _AD_GetObjectProperties For User 40 - Start
09:17:17.494 - _AD_GetObjectProperties For User 40 - End
09:17:17.494 - _AD_GetObjectProperties For User 41 - Start
09:17:26.511 - _AD_GetObjectProperties For User 41 - End
09:17:26.511 - _AD_GetObjectProperties For User 42 - Start
09:17:37.605 - _AD_GetObjectProperties For User 42 - End
09:17:37.605 - _AD_GetObjectProperties For User 43 - Start
09:17:51.262 - _AD_GetObjectProperties For User 43 - End
09:17:51.262 - _AD_GetObjectProperties For User 44 - Start
09:18:01.325 - _AD_GetObjectProperties For User 44 - End
09:18:01.325 - _AD_GetObjectProperties For User 45 - Start
09:18:11.935 - _AD_GetObjectProperties For User 45 - End
09:18:11.935 - _AD_GetObjectProperties For User 46 - Start
09:18:20.498 - _AD_GetObjectProperties For User 46 - End
09:18:20.498 - _AD_GetObjectProperties For User 47 - Start
09:18:30.107 - _AD_GetObjectProperties For User 47 - End
09:18:30.107 - _AD_GetObjectProperties For User 48 - Start
09:18:41.874 - _AD_GetObjectProperties For User 48 - End
09:18:41.874 - _AD_GetObjectProperties For User 49 - Start
09:18:53.905 - _AD_GetObjectProperties For User 49 - End
09:18:53.905 - _AD_GetObjectProperties For User 50 - Start
09:19:03.296 - _AD_GetObjectProperties For User 50 - End
09:19:03.296 - _AD_GetObjectProperties For User 51 - Start
09:19:14.203 - _AD_GetObjectProperties For User 51 - End
09:19:14.203 - _AD_GetObjectProperties For User 52 - Start
09:19:25.985 - _AD_GetObjectProperties For User 52 - End
09:19:25.985 - _AD_GetObjectProperties For User 53 - Start
09:19:40.517 - _AD_GetObjectProperties For User 53 - End
09:19:40.517 - _AD_GetObjectProperties For User 54 - Start
09:19:52.580 - _AD_GetObjectProperties For User 54 - End
09:19:52.580 - _AD_GetObjectProperties For User 55 - Start
09:20:01.956 - _AD_GetObjectProperties For User 55 - End
09:20:01.956 - _AD_GetObjectProperties For User 56 - Start
09:20:11.315 - _AD_GetObjectProperties For User 56 - End
09:20:11.315 - _AD_GetObjectProperties For User 57 - Start
09:20:21.378 - _AD_GetObjectProperties For User 57 - End
09:20:21.378 - _AD_GetObjectProperties For User 58 - Start
09:20:32.504 - _AD_GetObjectProperties For User 58 - End
09:20:32.504 - _AD_GetObjectProperties For User 59 - Start
09:20:43.692 - _AD_GetObjectProperties For User 59 - End
09:20:43.692 - _AD_GetObjectProperties For User 60 - Start
09:20:55.646 - _AD_GetObjectProperties For User 60 - End
09:20:55.646 - _AD_GetObjectProperties For User 61 - Start
09:21:09.178 - _AD_GetObjectProperties For User 61 - End
09:21:09.178 - _AD_GetObjectProperties For User 62 - Start
09:21:20.787 - _AD_GetObjectProperties For User 62 - End
09:21:20.787 - _AD_GetObjectProperties For User 63 - Start
09:21:32.241 - _AD_GetObjectProperties For User 63 - End
09:21:32.241 - _AD_GetObjectProperties For User 64 - Start
09:21:45.523 - _AD_GetObjectProperties For User 64 - End
09:21:45.523 - _AD_GetObjectProperties For User 65 - Start
09:21:57.524 - _AD_GetObjectProperties For User 65 - End
09:21:57.524 - _AD_GetObjectProperties For User 66 - Start
09:22:11.556 - _AD_GetObjectProperties For User 66 - End
09:22:11.556 - _AD_GetObjectProperties For User 67 - Start
09:22:23.228 - _AD_GetObjectProperties For User 67 - End
09:22:23.228 - _AD_GetObjectProperties For User 68 - Start
09:22:33.478 - _AD_GetObjectProperties For User 68 - End
09:22:33.478 - _AD_GetObjectProperties For User 69 - Start
09:22:47.010 - _AD_GetObjectProperties For User 69 - End
09:22:47.010 - _AD_GetObjectProperties For User 70 - Start
09:22:59.605 - _AD_GetObjectProperties For User 70 - End
09:22:59.605 - _AD_GetObjectProperties For User 71 - Start
09:23:13.340 - _AD_GetObjectProperties For User 71 - End
09:23:13.340 - _AD_GetObjectProperties For User 72 - Start
09:23:27.481 - _AD_GetObjectProperties For User 72 - End
09:23:27.481 - _AD_GetObjectProperties For User 73 - Start
09:23:39.435 - _AD_GetObjectProperties For User 73 - End
09:23:39.435 - _AD_GetObjectProperties For User 74 - Start
09:23:52.904 - _AD_GetObjectProperties For User 74 - End
09:23:52.904 - _AD_GetObjectProperties For User 75 - Start
09:24:03.936 - _AD_GetObjectProperties For User 75 - End
09:24:03.936 - _AD_GetObjectProperties For User 76 - Start
09:24:14.405 - _AD_GetObjectProperties For User 76 - End
09:24:14.405 - _AD_GetObjectProperties For User 77 - Start
09:24:25.250 - _AD_GetObjectProperties For User 77 - End
09:24:25.250 - _AD_GetObjectProperties For User 78 - Start
09:24:35.969 - _AD_GetObjectProperties For User 78 - End
09:24:35.969 - _AD_GetObjectProperties For User 79 - Start
09:24:47.985 - _AD_GetObjectProperties For User 79 - End
09:24:47.985 - _AD_GetObjectProperties For User 80 - Start
09:25:02.033 - _AD_GetObjectProperties For User 80 - End
09:25:02.033 - _AD_GetObjectProperties For User 81 - Start
09:25:13.767 - _AD_GetObjectProperties For User 81 - End
09:25:13.767 - _AD_GetObjectProperties For User 82 - Start
09:25:27.518 - _AD_GetObjectProperties For User 82 - End
09:25:27.518 - _AD_GetObjectProperties For User 83 - Start
09:25:38.972 - _AD_GetObjectProperties For User 83 - End
09:25:38.972 - _AD_GetObjectProperties For User 84 - Start
09:25:53.473 - _AD_GetObjectProperties For User 84 - End
09:25:53.473 - _AD_GetObjectProperties For User 85 - Start
09:26:08.114 - _AD_GetObjectProperties For User 85 - End
09:26:08.114 - _AD_GetObjectProperties For User 86 - Start
09:26:23.802 - _AD_GetObjectProperties For User 86 - End
09:26:23.802 - _AD_GetObjectProperties For User 87 - Start
09:26:36.037 - _AD_GetObjectProperties For User 87 - End
09:26:36.037 - _AD_GetObjectProperties For User 88 - Start
09:26:52.100 - _AD_GetObjectProperties For User 88 - End
09:26:52.100 - _AD_GetObjectProperties For User 89 - Start
09:27:04.257 - _AD_GetObjectProperties For User 89 - End
09:27:04.257 - _AD_GetObjectProperties For User 90 - Start
09:27:20.680 - _AD_GetObjectProperties For User 90 - End
09:27:20.680 - _AD_GetObjectProperties For User 91 - Start
09:27:36.806 - _AD_GetObjectProperties For User 91 - End
09:27:36.806 - _AD_GetObjectProperties For User 92 - Start
09:27:52.588 - _AD_GetObjectProperties For User 92 - End
09:27:52.588 - _AD_GetObjectProperties For User 93 - Start
09:28:08.432 - _AD_GetObjectProperties For User 93 - End
09:28:08.432 - _AD_GetObjectProperties For User 94 - Start
09:28:25.058 - _AD_GetObjectProperties For User 94 - End
09:28:25.058 - _AD_GetObjectProperties For User 95 - Start
09:28:41.699 - _AD_GetObjectProperties For User 95 - End
09:28:41.699 - _AD_GetObjectProperties For User 96 - Start
09:28:57.716 - _AD_GetObjectProperties For User 96 - End
09:28:57.716 - _AD_GetObjectProperties For User 97 - Start
09:29:15.045 - _AD_GetObjectProperties For User 97 - End
09:29:15.045 - _AD_GetObjectProperties For User 98 - Start
09:29:30.061 - _AD_GetObjectProperties For User 98 - End
09:29:30.061 - _AD_GetObjectProperties For User 99 - Start
09:29:45.812 - _AD_GetObjectProperties For User 99 - End
09:29:45.812 - _AD_GetObjectProperties For User 100 - Start
09:30:01.891 - _AD_GetObjectProperties For User 100 - End
09:30:01.891 - _AD_GetObjectProperties For User 101 - Start
09:30:17.813 - _AD_GetObjectProperties For User 101 - End
09:30:17.813 - _AD_GetObjectProperties For User 102 - Start
09:30:34.252 - _AD_GetObjectProperties For User 102 - End
09:30:34.252 - _AD_GetObjectProperties For User 103 - Start
09:30:50.049 - _AD_GetObjectProperties For User 103 - End
09:30:50.049 - _AD_GetObjectProperties For User 104 - Start
09:31:07.722 - _AD_GetObjectProperties For User 104 - End
09:31:07.722 - _AD_GetObjectProperties For User 105 - Start
09:31:23.676 - _AD_GetObjectProperties For User 105 - End
09:31:23.676 - _AD_GetObjectProperties For User 106 - Start
09:31:38.864 - _AD_GetObjectProperties For User 106 - End
09:31:38.864 - _AD_GetObjectProperties For User 107 - Start
09:31:54.849 - _AD_GetObjectProperties For User 107 - End
09:31:54.849 - _AD_GetObjectProperties For User 108 - Start
09:32:10.866 - _AD_GetObjectProperties For User 108 - End
09:32:10.866 - _AD_GetObjectProperties For User 109 - Start
09:32:26.929 - _AD_GetObjectProperties For User 109 - End
09:32:26.929 - _AD_GetObjectProperties For User 110 - Start
09:32:43.305 - _AD_GetObjectProperties For User 110 - End
09:32:43.305 - _AD_GetObjectProperties For User 111 - Start
09:32:59.056 - _AD_GetObjectProperties For User 111 - End
09:32:59.056 - _AD_GetObjectProperties For User 112 - Start
09:33:15.275 - _AD_GetObjectProperties For User 112 - End
09:33:15.275 - _AD_GetObjectProperties For User 113 - Start
09:33:31.557 - _AD_GetObjectProperties For User 113 - End
09:33:31.557 - _AD_GetObjectProperties For User 114 - Start
09:33:47.667 - _AD_GetObjectProperties For User 114 - End
09:33:47.667 - _AD_GetObjectProperties For User 115 - Start
09:34:03.887 - _AD_GetObjectProperties For User 115 - End

The same script times for Windows 7:

09:51:43.737 - _AD_GetGroupMembers - Start
09:51:44.017 - _AD_GetGroupMembers - End
09:51:44.017 - _AD_GetObjectProperties For 115 Users.
09:51:44.017 - _AD_GetObjectProperties For User 1 - Start
09:51:44.259 - _AD_GetObjectProperties For User 1 - End
09:51:44.259 - _AD_GetObjectProperties For User 2 - Start
09:51:44.357 - _AD_GetObjectProperties For User 2 - End
09:51:44.357 - _AD_GetObjectProperties For User 3 - Start
09:51:44.522 - _AD_GetObjectProperties For User 3 - End
09:51:44.522 - _AD_GetObjectProperties For User 4 - Start
09:51:44.690 - _AD_GetObjectProperties For User 4 - End
09:51:44.690 - _AD_GetObjectProperties For User 5 - Start
09:51:44.863 - _AD_GetObjectProperties For User 5 - End
09:51:44.863 - _AD_GetObjectProperties For User 6 - Start
09:51:45.038 - _AD_GetObjectProperties For User 6 - End
09:51:45.038 - _AD_GetObjectProperties For User 7 - Start
09:51:45.264 - _AD_GetObjectProperties For User 7 - End
09:51:45.264 - _AD_GetObjectProperties For User 8 - Start
09:51:45.438 - _AD_GetObjectProperties For User 8 - End
09:51:45.438 - _AD_GetObjectProperties For User 9 - Start
09:51:45.608 - _AD_GetObjectProperties For User 9 - End
09:51:45.609 - _AD_GetObjectProperties For User 10 - Start
09:51:45.783 - _AD_GetObjectProperties For User 10 - End
09:51:45.783 - _AD_GetObjectProperties For User 11 - Start
09:51:45.959 - _AD_GetObjectProperties For User 11 - End
09:51:45.959 - _AD_GetObjectProperties For User 12 - Start
09:51:46.057 - _AD_GetObjectProperties For User 12 - End
09:51:46.057 - _AD_GetObjectProperties For User 13 - Start
09:51:46.238 - _AD_GetObjectProperties For User 13 - End
09:51:46.238 - _AD_GetObjectProperties For User 14 - Start
09:51:46.444 - _AD_GetObjectProperties For User 14 - End
09:51:46.444 - _AD_GetObjectProperties For User 15 - Start
09:51:46.622 - _AD_GetObjectProperties For User 15 - End
09:51:46.622 - _AD_GetObjectProperties For User 16 - Start
09:51:46.768 - _AD_GetObjectProperties For User 16 - End
09:51:46.768 - _AD_GetObjectProperties For User 17 - Start
09:51:46.992 - _AD_GetObjectProperties For User 17 - End
09:51:46.992 - _AD_GetObjectProperties For User 18 - Start
09:51:47.172 - _AD_GetObjectProperties For User 18 - End
09:51:47.172 - _AD_GetObjectProperties For User 19 - Start
09:51:47.351 - _AD_GetObjectProperties For User 19 - End
09:51:47.351 - _AD_GetObjectProperties For User 20 - Start
09:51:47.527 - _AD_GetObjectProperties For User 20 - End
09:51:47.528 - _AD_GetObjectProperties For User 21 - Start
09:51:47.707 - _AD_GetObjectProperties For User 21 - End
09:51:47.707 - _AD_GetObjectProperties For User 22 - Start
09:51:47.886 - _AD_GetObjectProperties For User 22 - End
09:51:47.886 - _AD_GetObjectProperties For User 23 - Start
09:51:48.083 - _AD_GetObjectProperties For User 23 - End
09:51:48.083 - _AD_GetObjectProperties For User 24 - Start
09:51:48.258 - _AD_GetObjectProperties For User 24 - End
09:51:48.258 - _AD_GetObjectProperties For User 25 - Start
09:51:48.435 - _AD_GetObjectProperties For User 25 - End
09:51:48.435 - _AD_GetObjectProperties For User 26 - Start
09:51:48.614 - _AD_GetObjectProperties For User 26 - End
09:51:48.614 - _AD_GetObjectProperties For User 27 - Start
09:51:48.789 - _AD_GetObjectProperties For User 27 - End
09:51:48.789 - _AD_GetObjectProperties For User 28 - Start
09:51:48.973 - _AD_GetObjectProperties For User 28 - End
09:51:48.973 - _AD_GetObjectProperties For User 29 - Start
09:51:49.144 - _AD_GetObjectProperties For User 29 - End
09:51:49.144 - _AD_GetObjectProperties For User 30 - Start
09:51:49.319 - _AD_GetObjectProperties For User 30 - End
09:51:49.319 - _AD_GetObjectProperties For User 31 - Start
09:51:49.492 - _AD_GetObjectProperties For User 31 - End
09:51:49.492 - _AD_GetObjectProperties For User 32 - Start
09:51:49.665 - _AD_GetObjectProperties For User 32 - End
09:51:49.665 - _AD_GetObjectProperties For User 33 - Start
09:51:49.839 - _AD_GetObjectProperties For User 33 - End
09:51:49.839 - _AD_GetObjectProperties For User 34 - Start
09:51:50.007 - _AD_GetObjectProperties For User 34 - End
09:51:50.007 - _AD_GetObjectProperties For User 35 - Start
09:51:50.195 - _AD_GetObjectProperties For User 35 - End
09:51:50.195 - _AD_GetObjectProperties For User 36 - Start
09:51:50.371 - _AD_GetObjectProperties For User 36 - End
09:51:50.371 - _AD_GetObjectProperties For User 37 - Start
09:51:50.548 - _AD_GetObjectProperties For User 37 - End
09:51:50.548 - _AD_GetObjectProperties For User 38 - Start
09:51:50.725 - _AD_GetObjectProperties For User 38 - End
09:51:50.725 - _AD_GetObjectProperties For User 39 - Start
09:51:50.898 - _AD_GetObjectProperties For User 39 - End
09:51:50.898 - _AD_GetObjectProperties For User 40 - Start
09:51:51.073 - _AD_GetObjectProperties For User 40 - End
09:51:51.073 - _AD_GetObjectProperties For User 41 - Start
09:51:51.273 - _AD_GetObjectProperties For User 41 - End
09:51:51.273 - _AD_GetObjectProperties For User 42 - Start
09:51:51.471 - _AD_GetObjectProperties For User 42 - End
09:51:51.471 - _AD_GetObjectProperties For User 43 - Start
09:51:51.678 - _AD_GetObjectProperties For User 43 - End
09:51:51.678 - _AD_GetObjectProperties For User 44 - Start
09:51:51.865 - _AD_GetObjectProperties For User 44 - End
09:51:51.865 - _AD_GetObjectProperties For User 45 - Start
09:51:52.043 - _AD_GetObjectProperties For User 45 - End
09:51:52.043 - _AD_GetObjectProperties For User 46 - Start
09:51:52.256 - _AD_GetObjectProperties For User 46 - End
09:51:52.256 - _AD_GetObjectProperties For User 47 - Start
09:51:52.433 - _AD_GetObjectProperties For User 47 - End
09:51:52.433 - _AD_GetObjectProperties For User 48 - Start
09:51:52.614 - _AD_GetObjectProperties For User 48 - End
09:51:52.614 - _AD_GetObjectProperties For User 49 - Start
09:51:52.816 - _AD_GetObjectProperties For User 49 - End
09:51:52.816 - _AD_GetObjectProperties For User 50 - Start
09:51:52.995 - _AD_GetObjectProperties For User 50 - End
09:51:52.995 - _AD_GetObjectProperties For User 51 - Start
09:51:53.191 - _AD_GetObjectProperties For User 51 - End
09:51:53.191 - _AD_GetObjectProperties For User 52 - Start
09:51:53.382 - _AD_GetObjectProperties For User 52 - End
09:51:53.382 - _AD_GetObjectProperties For User 53 - Start
09:51:53.580 - _AD_GetObjectProperties For User 53 - End
09:51:53.580 - _AD_GetObjectProperties For User 54 - Start
09:51:53.777 - _AD_GetObjectProperties For User 54 - End
09:51:53.777 - _AD_GetObjectProperties For User 55 - Start
09:51:53.954 - _AD_GetObjectProperties For User 55 - End
09:51:53.954 - _AD_GetObjectProperties For User 56 - Start
09:51:54.160 - _AD_GetObjectProperties For User 56 - End
09:51:54.160 - _AD_GetObjectProperties For User 57 - Start
09:51:54.337 - _AD_GetObjectProperties For User 57 - End
09:51:54.338 - _AD_GetObjectProperties For User 58 - Start
09:51:54.531 - _AD_GetObjectProperties For User 58 - End
09:51:54.531 - _AD_GetObjectProperties For User 59 - Start
09:51:54.728 - _AD_GetObjectProperties For User 59 - End
09:51:54.728 - _AD_GetObjectProperties For User 60 - Start
09:51:54.924 - _AD_GetObjectProperties For User 60 - End
09:51:54.924 - _AD_GetObjectProperties For User 61 - Start
09:51:55.124 - _AD_GetObjectProperties For User 61 - End
09:51:55.124 - _AD_GetObjectProperties For User 62 - Start
09:51:55.321 - _AD_GetObjectProperties For User 62 - End
09:51:55.321 - _AD_GetObjectProperties For User 63 - Start
09:51:55.522 - _AD_GetObjectProperties For User 63 - End
09:51:55.522 - _AD_GetObjectProperties For User 64 - Start
09:51:55.714 - _AD_GetObjectProperties For User 64 - End
09:51:55.714 - _AD_GetObjectProperties For User 65 - Start
09:51:55.916 - _AD_GetObjectProperties For User 65 - End
09:51:55.916 - _AD_GetObjectProperties For User 66 - Start
09:51:56.120 - _AD_GetObjectProperties For User 66 - End
09:51:56.120 - _AD_GetObjectProperties For User 67 - Start
09:51:56.320 - _AD_GetObjectProperties For User 67 - End
09:51:56.320 - _AD_GetObjectProperties For User 68 - Start
09:51:56.518 - _AD_GetObjectProperties For User 68 - End
09:51:56.518 - _AD_GetObjectProperties For User 69 - Start
09:51:56.715 - _AD_GetObjectProperties For User 69 - End
09:51:56.715 - _AD_GetObjectProperties For User 70 - Start
09:51:56.913 - _AD_GetObjectProperties For User 70 - End
09:51:56.913 - _AD_GetObjectProperties For User 71 - Start
09:51:57.113 - _AD_GetObjectProperties For User 71 - End
09:51:57.113 - _AD_GetObjectProperties For User 72 - Start
09:51:57.313 - _AD_GetObjectProperties For User 72 - End
09:51:57.313 - _AD_GetObjectProperties For User 73 - Start
09:51:57.508 - _AD_GetObjectProperties For User 73 - End
09:51:57.508 - _AD_GetObjectProperties For User 74 - Start
09:51:57.711 - _AD_GetObjectProperties For User 74 - End
09:51:57.711 - _AD_GetObjectProperties For User 75 - Start
09:51:57.917 - _AD_GetObjectProperties For User 75 - End
09:51:57.917 - _AD_GetObjectProperties For User 76 - Start
09:51:58.133 - _AD_GetObjectProperties For User 76 - End
09:51:58.133 - _AD_GetObjectProperties For User 77 - Start
09:51:58.340 - _AD_GetObjectProperties For User 77 - End
09:51:58.340 - _AD_GetObjectProperties For User 78 - Start
09:51:58.542 - _AD_GetObjectProperties For User 78 - End
09:51:58.542 - _AD_GetObjectProperties For User 79 - Start
09:51:58.750 - _AD_GetObjectProperties For User 79 - End
09:51:58.750 - _AD_GetObjectProperties For User 80 - Start
09:51:58.970 - _AD_GetObjectProperties For User 80 - End
09:51:58.970 - _AD_GetObjectProperties For User 81 - Start
09:51:59.182 - _AD_GetObjectProperties For User 81 - End
09:51:59.182 - _AD_GetObjectProperties For User 82 - Start
09:51:59.383 - _AD_GetObjectProperties For User 82 - End
09:51:59.383 - _AD_GetObjectProperties For User 83 - Start
09:51:59.583 - _AD_GetObjectProperties For User 83 - End
09:51:59.583 - _AD_GetObjectProperties For User 84 - Start
09:51:59.789 - _AD_GetObjectProperties For User 84 - End
09:51:59.789 - _AD_GetObjectProperties For User 85 - Start
09:51:59.985 - _AD_GetObjectProperties For User 85 - End
09:51:59.985 - _AD_GetObjectProperties For User 86 - Start
09:52:00.194 - _AD_GetObjectProperties For User 86 - End
09:52:00.194 - _AD_GetObjectProperties For User 87 - Start
09:52:00.390 - _AD_GetObjectProperties For User 87 - End
09:52:00.390 - _AD_GetObjectProperties For User 88 - Start
09:52:00.595 - _AD_GetObjectProperties For User 88 - End
09:52:00.595 - _AD_GetObjectProperties For User 89 - Start
09:52:00.785 - _AD_GetObjectProperties For User 89 - End
09:52:00.785 - _AD_GetObjectProperties For User 90 - Start
09:52:00.976 - _AD_GetObjectProperties For User 90 - End
09:52:00.976 - _AD_GetObjectProperties For User 91 - Start
09:52:01.167 - _AD_GetObjectProperties For User 91 - End
09:52:01.167 - _AD_GetObjectProperties For User 92 - Start
09:52:01.359 - _AD_GetObjectProperties For User 92 - End
09:52:01.359 - _AD_GetObjectProperties For User 93 - Start
09:52:01.559 - _AD_GetObjectProperties For User 93 - End
09:52:01.559 - _AD_GetObjectProperties For User 94 - Start
09:52:01.759 - _AD_GetObjectProperties For User 94 - End
09:52:01.759 - _AD_GetObjectProperties For User 95 - Start
09:52:01.957 - _AD_GetObjectProperties For User 95 - End
09:52:01.957 - _AD_GetObjectProperties For User 96 - Start
09:52:02.158 - _AD_GetObjectProperties For User 96 - End
09:52:02.158 - _AD_GetObjectProperties For User 97 - Start
09:52:02.354 - _AD_GetObjectProperties For User 97 - End
09:52:02.354 - _AD_GetObjectProperties For User 98 - Start
09:52:02.561 - _AD_GetObjectProperties For User 98 - End
09:52:02.561 - _AD_GetObjectProperties For User 99 - Start
09:52:02.753 - _AD_GetObjectProperties For User 99 - End
09:52:02.753 - _AD_GetObjectProperties For User 100 - Start
09:52:02.959 - _AD_GetObjectProperties For User 100 - End
09:52:02.959 - _AD_GetObjectProperties For User 101 - Start
09:52:03.153 - _AD_GetObjectProperties For User 101 - End
09:52:03.153 - _AD_GetObjectProperties For User 102 - Start
09:52:03.362 - _AD_GetObjectProperties For User 102 - End
09:52:03.362 - _AD_GetObjectProperties For User 103 - Start
09:52:03.560 - _AD_GetObjectProperties For User 103 - End
09:52:03.560 - _AD_GetObjectProperties For User 104 - Start
09:52:03.770 - _AD_GetObjectProperties For User 104 - End
09:52:03.770 - _AD_GetObjectProperties For User 105 - Start
09:52:03.968 - _AD_GetObjectProperties For User 105 - End
09:52:03.968 - _AD_GetObjectProperties For User 106 - Start
09:52:04.193 - _AD_GetObjectProperties For User 106 - End
09:52:04.193 - _AD_GetObjectProperties For User 107 - Start
09:52:04.405 - _AD_GetObjectProperties For User 107 - End
09:52:04.405 - _AD_GetObjectProperties For User 108 - Start
09:52:04.620 - _AD_GetObjectProperties For User 108 - End
09:52:04.620 - _AD_GetObjectProperties For User 109 - Start
09:52:04.850 - _AD_GetObjectProperties For User 109 - End
09:52:04.850 - _AD_GetObjectProperties For User 110 - Start
09:52:05.060 - _AD_GetObjectProperties For User 110 - End
09:52:05.060 - _AD_GetObjectProperties For User 111 - Start
09:52:05.268 - _AD_GetObjectProperties For User 111 - End
09:52:05.268 - _AD_GetObjectProperties For User 112 - Start
09:52:05.472 - _AD_GetObjectProperties For User 112 - End
09:52:05.472 - _AD_GetObjectProperties For User 113 - Start
09:52:05.695 - _AD_GetObjectProperties For User 113 - End
09:52:05.695 - _AD_GetObjectProperties For User 114 - Start
09:52:05.892 - _AD_GetObjectProperties For User 114 - End
09:52:05.892 - _AD_GetObjectProperties For User 115 - Start
09:52:06.091 - _AD_GetObjectProperties For User 115 - End

Just for reference.

Link to comment
Share on other sites

Wow, that's quite a big difference!

Do you access the same Domain Controller with Windows 7 and Windows 8?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Yes, our master DC which is in this building. Both machines are on the same subnet and everything. It is strange. I am new to PowerShell, so I took the same process and converted the _AD_GetObjectProperties to a PowerShell command, that process takes about 5 minutes in Windows 7 and about 12 minutes in Windows 8.

Link to comment
Share on other sites

So it looks like the problem isn't caused by the AD UDF. I haven't used WIndows 8 so unfortunately I know nothing about it.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

 

OK. So no error happened.

Another try to get better error information:

#include <AD.au3>
 _AD_Open()
 If _AD_IsObjectLockedEX("timtest") Then
     ConsoleWrite("locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
 Else     
ConsoleWrite("not locked. @error = " & @error & ", @extened = " & @extended & @CRLF)
_AD_Close()
EndIf

Func _AD_IsObjectLockedEX($sObject = @UserName)

    If Not _AD_ObjectExists($sObject) Then Return SetError(1, 0, 0)
    Local $sProperty = "sAMAccountName"
    If StringMid($sObject, 3, 1) = "=" Then $sProperty = "distinguishedName"; FQDN provided
    $__oAD_Command.CommandText = "<LDAP://" & $sAD_HostServer & "/" & $sAD_DNSDomain & ">;(" & $sProperty & "=" & $sObject & ");ADsPath;subtree"
    Local $oRecordSet = $__oAD_Command.Execute ; Retrieve the ADsPath for the object
    Local $sLDAPEntry = $oRecordSet.fields(0).Value
    Local $oObject = __AD_ObjGet($sLDAPEntry) ; Retrieve the COM Object for the object
    Local $oLockoutTime = $oObject.LockoutTime
    ; Object is not locked out
    If Not IsObj($oLockoutTime) Then Return SetError(10, 0, 0)
    ; Calculate lockout time (UTC)
    Local $sLockoutTime = _DateAdd("s", Int(__AD_LargeInt2Double($oLockoutTime.LowPart, $oLockoutTime.HighPart) / (10000000)), "1601/01/01 00:00:00")
    ; Object is not locked out
    If $sLockoutTime = "1601/01/01 00:00:00" Then Return SetError(11, 0, 0)
    ; Get password info - Account Lockout Duration
    Local $aTemp = _AD_GetPasswordInfo($sObject)
    ; if lockout duration is 0 (= unlock manually by admin needed) then no calculation is necessary. Set @error to -1 (minutes till the account is unlocked)
    If $aTemp[5] = 0 Then Return SetError(-1, 0, 1)
    ; Calculate when the lockout will be reset
    Local $sResetLockoutTime = _DateAdd("n", $aTemp[5], $sLockoutTime)
    ; Compare to current date/time (UTC)
    Local $sNow = _Date_Time_GetSystemTime()
    $sNow = _Date_Time_SystemTimeToDateTimeStr($sNow, 1)
    If $sResetLockoutTime >= $sNow Then Return SetError(_DateDiff("n", $sNow, $sResetLockoutTime), 0, 1)
        Return SetError(12, 0, 0)

EndFunc   ;==>_AD_IsObjectLocked

 

>Running AU3Check (3.3.10.2)  from:C:ProgrammeAutoIt3  input:C:AutoItislockedtest.au3

+>14:16:29 AU3Check ended.rc:0

>Running:(3.3.10.2):C:ProgrammeAutoIt3autoit3.exe "C:AutoItislockedtest.au3"    

--> Press Ctrl+Alt+F5 to Restart or Ctrl+Break to Stop

not locked. @error = 12, @extened = 0

+>14:16:30 AutoIt3.exe ended.rc:0

+>14:16:30 AutoIt3Wrapper Finished.

>Exit code: 0    Time: 1.192

Link to comment
Share on other sites

If you run _AD_GetObjectProperties for the user, what's the value of property "lockouttime"?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...