Sign in to follow this  
Followers 0
marcsusy

Help please, make an Query Error on BitLocker Active Directory LDAP?

7 posts in this topic

Hello everyone:

Sorry for my bad English. I have problems when trying to make a query Active Directory on a specific computer for BitLocker key using a script that I downloaded from this forum but I get several errors.
 
Thanks.
 

I put the script in an attachment used
 
 
And I get the following errors:
 
 
 we intercepted a COM Error!
 
err.windescription: Error operation
 
err.number is: 80020009
 
err.scriptline is: 23
 
err.source is Active Directory
 
 
we intercepted a COM Error!
 
err.windescription: Error operation
 
err.windescription: Variable must be of type 'Object',
 
err.number is: 000000A9
 
err.scriptline is: 26
 
err.source is Active Directory
 
 
we intercepted a COM Error!
 
err.windescription: Error operation
 
err.windescription: Variable must be of type 'Object',
 
err.number is: 000000A9
 
err.scriptline is: 29
 
err.source is Active Directory
 
 
 
 
 
 
 
 
 

 

Share this post


Link to post
Share on other sites



Which script did you try?


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Hello Water

I use this script 

 

#include <ad.au3>
#include <array.au3>
; --------------------------------------------------------------------------------
; Securely access the Active Directory computer object using Kerberos
; --------------------------------------------------------------------------------
; PC567 Name of the computer you want to check the BitLocker key
; FTR domain name
Global $objDSO = ObjGet("LDAP:")
ConsoleWrite("ObjGet: @error = " & @error & ", @extended = " & @extended & @LF)
;Global $strPathToComputer = "[url=null]LDAP:/cn=Smith,ou=Sales,dc=MyDomain,dc=com[/url]" ;path really has 2 / but to get around forum bug i posted using 1
Global $strPathToComputer = "[url=null]LDAP:/cn=PC567,ou=USERS,dc=FTR,dc=es[/url]" ;path really has 2 / but to get around forum bug i posted using 1
; WScript.Echo "Accessing object: " + strPathToComputer
Global Const $ADS_SECURE_AUTHENTICATION = 1
Global Const $ADS_USE_SEALING = 64 ; 0x40
Global Const $ADS_USE_SIGNING = 128 ; 0x80
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")    ; Initialize a COM error handler
; --------------------------------------------------------------------------------
; Get all BitLocker recovery information from the Active Directory computer object
; --------------------------------------------------------------------------------
; Get all the recovery information child objects of the computer object
Global $objFveInfos = $objDSO.OpenDSObject($strPathToComputer, "", "", BitOr($ADS_SECURE_AUTHENTICATION, $ADS_USE_SEALING, $ADS_USE_SIGNING))
ConsoleWrite("OpenDSObject: @error = " & @error & ", @extended = " & @extended & @LF)
Global $TempArray[100] = ["msFVE-RecoveryInformation"]
$objFveInfos.Filter = $TempArray
ConsoleWrite("Filter: @error = " & @error & ", @extended = " & @extended & @LF)
; Iterate through each recovery information object
For $objFveInfo in $objFveInfos
   $strName = $objFveInfo.Get("name")
   ConsoleWrite("Get(name): @error = " & @error & ", @extended = " & @extended & @LF)
   $strRecoveryPassword = $objFveInfo.Get("msFVE-RecoveryPassword" & @LF)
   ConsoleWrite("ObjGet(msFVE-RecoveryPassword): @error = " & @error & ", @extended = " & @extended & @LF)
   ConsoleWrite("  name: " & $strName)
   ConsoleWrite("  msFVE-RecoveryPassword: " & $strRecoveryPassword & @LF)
Next
; This is my custom defined error handler
Func MyErrFunc()
  Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !"    & @CRLF  & @CRLF & _
             "err.description is: " & @TAB & $oMyError.description  & @CRLF & _
             "err.windescription:"   & @TAB & $oMyError.windescription & @CRLF & _
             "err.number is: "       & @TAB & hex($oMyError.number,8)  & @CRLF & _
             "err.lastdllerror is: "   & @TAB & $oMyError.lastdllerror   & @CRLF & _
             "err.scriptline is: "   & @TAB & $oMyError.scriptline   & @CRLF & _
             "err.source is: "       & @TAB & $oMyError.source       & @CRLF & _
             "err.helpfile is: "       & @TAB & $oMyError.helpfile     & @CRLF & _
             "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
            )
Endfunc
Edited by Melba23
Added code tags

Share this post


Link to post
Share on other sites

As far as I can remember the thread where you got the script from has a final solution.

Can you post the link to the thread?


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

marcsusy,

If you add a comment explaining that the path is missing a "/" because of the known forum formatting bug - please do not add the double "/" in the comment itself so that the same error still occurs. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Thanks Melba:

 

 

I will use  the script without the double "/ /", as I see no need to call the include ad.au3 to run the query Active Directory?

 

 

Thanks

 

 

 

 

Share this post


Link to post
Share on other sites

Hello:

I run the script now I have no errors but I get the following output AutoIt3.exe ended.rc: -1073741819, with a single "/" I get error if I do the two works but I get this output

ObjGet: @error = 0, @extended = 0
OpenDSObject: @error = 0, @extended = 0
Filter: @error = 0, @extended = 0
!>11:56:20 AutoIt3.exe ended.rc:-1073741819

Someone can help me please.

thanks

 

The script is used:

 

; --------------------------------------------------------------------------------
; Securely access the Active Directory computer object using Kerberos
; --------------------------------------------------------------------------------

Global $objDSO = ObjGet("LDAP:")
ConsoleWrite("ObjGet: @error = " & @error & ", @extended = " & @extended & @LF)
Global $strPathToComputer = "LDAP://CN=PC2206,OU=REDES,OU=RECURSOS,DC=TDF,DC=UDK,DC=systems,DC=com"

; WScript.Echo "Accessing object: " + strPathToComputer
Global Const $ADS_SECURE_AUTHENTICATION = 1
Global Const $ADS_USE_SEALING = 64 ; 0x40
Global Const $ADS_USE_SIGNING = 128 ; 0x80

$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")    ; Initialize a COM error handler

; --------------------------------------------------------------------------------
; Get all BitLocker recovery information from the Active Directory computer object
; --------------------------------------------------------------------------------
; Get all the recovery information child objects of the computer object
Global $objFveInfos = ObjGet($strPathToComputer)

ConsoleWrite("OpenDSObject: @error = " & @error & ", @extended = " & @extended & @LF)
Global $TempArray[100] = ["msFVE-RecoveryInformation"]
$objFveInfos.Filter = $TempArray
ConsoleWrite("Filter: @error = " & @error & ", @extended = " & @extended & @LF)
; Iterate through each recovery information object
For $objFveInfo in $objFveInfos
   $strName = $objFveInfo.Get("name")
   ConsoleWrite("Get(name): @error = " & @error & ", @extended = " & @extended & @LF)
   $strRecoveryPassword = $objFveInfo.Get("msFVE-RecoveryPassword" & @LF)
   ConsoleWrite("ObjGet(msFVE-RecoveryPassword): @error = " & @error & ", @extended = " & @extended & @LF)
   ConsoleWrite("  name: " & $strName)
   ConsoleWrite("  msFVE-RecoveryPassword: " & $strRecoveryPassword & @LF)
Next

Func MyErrFunc()
  Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !"    & @CRLF  & @CRLF & _
   "err.description is: " & @TAB & $oMyError.description  & @CRLF & _
   "err.windescription:"   & @TAB & $oMyError.windescription & @CRLF & _
   "err.number is: "       & @TAB & hex($oMyError.number,8)  & @CRLF & _
   "err.lastdllerror is: "   & @TAB & $oMyError.lastdllerror   & @CRLF & _
   "err.scriptline is: "   & @TAB & $oMyError.scriptline   & @CRLF & _
   "err.source is: "       & @TAB & $oMyError.source       & @CRLF & _
   "err.helpfile is: "       & @TAB & $oMyError.helpfile     & @CRLF & _
   "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
  )
Endfunc

 

Thanks for the help

Share this post


Link to post
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
Sign in to follow this  
Followers 0