colombeen Posted March 3, 2017 Share Posted March 3, 2017 Hi everyone I've been looking around but I can't seem to find any posts on this... Is there an easy way to get the error description for a hex error code? When I run certutil from within autoit it returns an error code but nothing else if there is a problem I'd like to convert the code to the actual description. Thx for the help Colombeen Link to comment Share on other sites More sharing options...
water Posted March 3, 2017 Share Posted March 3, 2017 Can you please post an example of the error code you are talking about? My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
water Posted March 3, 2017 Share Posted March 3, 2017 When i run the following cmd I get the error code plus description: Quote C:\Users\xx>certutil asdf CertUtil: -dump-Befehl ist fehlgeschlagen: 0x80070002 (WIN32: 2) CertUtil: Das System kann die angegebene Datei nicht finden. So you could simply extract the error message from the data returned by certutil. My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
water Posted March 3, 2017 Share Posted March 3, 2017 Another possible way is to extract the windows error code and run net helpmsg. Quote net helpmsg 2 which returns the same error message. My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
colombeen Posted March 3, 2017 Author Share Posted March 3, 2017 (edited) certutil only returns this to autoit : -2147024810 (Hex: 80070056) in this case: a bad password for the pfx file Edited March 3, 2017 by colombeen Link to comment Share on other sites More sharing options...
water Posted March 3, 2017 Share Posted March 3, 2017 How do you call certutil in your AutoIt script? My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
colombeen Posted March 3, 2017 Author Share Posted March 3, 2017 Just now, water said: How do you call certutil in your AutoIt script? Local $DGCERTINST_COMMAND = 'certutil -f -user -p "' & $DGCERTINST_PASSWORD & '_" -importpfx "' & $DGCERTINST_CERT_PATH & '"' Local $DGCERTINST_TRY_INSTALL = RunWait($DGCERTINST_COMMAND, "", @SW_HIDE) $DGCERTINST_TRY_INSTALL contains the return code Link to comment Share on other sites More sharing options...
water Posted March 3, 2017 Share Posted March 3, 2017 (edited) You could grab the output of certutil and extract the error message. #include <AutoItConstants.au3> Local $iPID = Run("Certutil afds", "", Default, $STDOUT_CHILD) ; Wait until the process has closed using the PID returned by Run ProcessWaitClose($iPID) ; Read the Stdout stream of the PID returned by Run Local $sOutput = StdoutRead($iPID) ConsoleWrite("StdOut: " & $sOutput & @CRLF) Edited March 3, 2017 by water My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
water Posted March 3, 2017 Share Posted March 3, 2017 A bit more elaborated: #include <AutoItConstants.au3> #include <StringConstants.au3> Local $iPID = Run("Certutil afds", "", Default, $STDOUT_CHILD) ; Wait until the process has closed using the PID returned by Run ProcessWaitClose($iPID) ; Read the Stdout stream of the PID returned by Run Local $sOutput = StdoutRead($iPID) Local $aMessage = StringSplit($sOutput, @CRLF, $STR_ENTIRESPLIT) If IsArray($aMessage) And $aMessage[0] > 1 And StringInStr($aMessage[1], "(Win32: ") Then ConsoleWrite("Error returned by certutil:" & @CRLF & $aMessage[2] & @CRLF) EndIf My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
colombeen Posted March 3, 2017 Author Share Posted March 3, 2017 1 hour ago, water said: A bit more elaborated: #include <AutoItConstants.au3> #include <StringConstants.au3> Local $iPID = Run("Certutil afds", "", Default, $STDOUT_CHILD) ; Wait until the process has closed using the PID returned by Run ProcessWaitClose($iPID) ; Read the Stdout stream of the PID returned by Run Local $sOutput = StdoutRead($iPID) Local $aMessage = StringSplit($sOutput, @CRLF, $STR_ENTIRESPLIT) If IsArray($aMessage) And $aMessage[0] > 1 And StringInStr($aMessage[1], "(Win32: ") Then ConsoleWrite("Error returned by certutil:" & @CRLF & $aMessage[2] & @CRLF) EndIf thx water, i'll try this in a few mins Link to comment Share on other sites More sharing options...
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