TheCrimsonCrusader Posted June 6, 2018 Posted June 6, 2018 I'm trying to take the following working VBScript: strComputer = "LAB820-G3" set objComputer = GetObject("LDAP://CN=" & strComputer & ",OU=COE,OU=Workstations-Win10,DC=corp,DC=CompanyName,DC=com") objComputer.DeleteObject (0) And convert it into AutoIt. However, when I run the compiled code, I receive the "Error: Variable must be of type 'Object'. I am aware of Water AD library, but after dropping the AD.au3 into the AutoIt Include folder, it was getting the message about the WinAPIConv.au3 missing, so I found one on the Internet and dropped that one in as well, but then it ran into additional problems. Regardless, I didn't need that additional functionality anyway, I was just trying to delete an object from AD with a simple script consisting of a few lines. Is what I have below even in the ball part or am I way off? Obviously, I need to address the "Error: Variable must be of type 'Object' issue, but not sure how to or if I will be running into other issues after that as well. What I did looks logical, but I'm not the sharpest tool in the shed when it comes to this stuff. :-) I can't call netdom from AutoIt because I need this script to delete computer objects regardless of whether they are currently active on the network or not and netdom is limited to online only objects from what I understand. Any help would be greatly appreciated! $strComputer = "LAB820-G3" $objComputer = ObjGet("LDAP://CN=" & $strComputer & ",OU=COE,OU=Workstations-Win10,DC=corp,DC=CompanyName,DC=com") $GetReturnCode = $objComputer.DeleteObject (0) MsgBox(262144,"Title",$ReturnCode)
water Posted June 6, 2018 Posted June 6, 2018 (edited) The VBScript code does work for you? Edited June 6, 2018 by water 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
TheCrimsonCrusader Posted June 6, 2018 Author Posted June 6, 2018 Yes, I just have to "Run as different user" and specify account credentials that have permissions to delete the computer object. I have ran it a few times on some test computer objects to confirm it works and is consistent.
water Posted June 6, 2018 Posted June 6, 2018 Then I suggest to add a COM error handler to get better debugging info: Local $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc") $strComputer = "LAB820-G3" $objComputer = ObjGet("LDAP://CN=" & $strComputer & ",OU=COE,OU=Workstations-Win10,DC=corp,DC=CompanyName,DC=com") $GetReturnCode = $objComputer.DeleteObject (0) MsgBox(262144,"Title",$ReturnCode) ; User's COM error function. Will be called if COM error occurs Func _ErrFunc($oError) ; Do anything here. ConsoleWrite(@ScriptName & " (" & $oError.scriptline & ") : ==> COM Error intercepted !" & @CRLF & _ @TAB & "err.number is: " & @TAB & @TAB & "0x" & Hex($oError.number) & @CRLF & _ @TAB & "err.windescription:" & @TAB & $oError.windescription & @CRLF & _ @TAB & "err.description is: " & @TAB & $oError.description & @CRLF & _ @TAB & "err.source is: " & @TAB & @TAB & $oError.source & @CRLF & _ @TAB & "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _ @TAB & "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _ @TAB & "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _ @TAB & "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _ @TAB & "err.retcode is: " & @TAB & "0x" & Hex($oError.retcode) & @CRLF & @CRLF) EndFunc ;==>_ErrFunc 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
TheCrimsonCrusader Posted June 6, 2018 Author Posted June 6, 2018 Hm, nothing is come back for the $GetReturnCode (I corrected it for the message box variable). I guess the problem lies with the $ObjComputer.DeleteObject (0) since it doesn't even return a return code. Test.au3 (4) : ==> COM Error intercepted ! err.number is: 0x8007202B err.windescription: A referral was returned from the server. err.description is: err.source is: err.helpfile is: err.helpcontext is: err.lastdllerror is: 0 err.scriptline is: 4 err.retcode is: 0x00000000 Test.au3 (5) : ==> COM Error intercepted ! err.number is: 0x000000A9 err.windescription: Variable must be of type 'Object'. err.description is: err.source is: err.helpfile is: err.helpcontext is: err.lastdllerror is: 0 err.scriptline is: 5 err.retcode is: 0x00000000
water Posted June 6, 2018 Posted June 6, 2018 The message is best described here: https://stackoverflow.com/questions/6954170/a-referral-was-returned-from-the-server-exception-when-accessing-ad-from-c-sha Quote A referral is sent by an AD server when it doesn't have the information requested itself, but know that another server have the info. It usually appears in trust environment where a DC can refer to a DC in trusted domain. 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now