Hallo Zusammen,
ich bin gerade irgendwie verplant und bekomme es einfach nicht hin eine DOS Ausgabe in ein Array zu schreiben. Ziel ist es die Userzertifikate auszulesen und in ein Array zu schreiben.
Vielleicht erkennt jemand von euch den Fehler...
[autoit]
#include <Array.au3>
Global $aCertificate = _GetCertificate('certutil -v -store -user My')
_ArrayDisplay($aCertificate)
MsgBox(0, "Test", @error)
;######################################
;DOS Programm
;######################################
Func _GetCertificate($command)
Local $iPid = Run('"' & @ComSpec & '" /c ' & $command, '', @SW_HIDE, 2 + 4), $sOutput = "", $aData
Do
Sleep(20)
$sOutput &= StdoutRead($iPid, False, False)
Until @error
$aData = StringSplit($sOutput, @LF)
If $aData[0] <> 3 Then Return SetError(1)
$aName = StringRegExp($aData[1], '"([^"]*)"\,', 3)
$aValue = StringRegExp($aData[2], '"([^"]*)"\,', 3)
If UBound($aName) <> UBound($aValue) Then Return SetError(2)
Local $aReturn[UBound($aName)][2]
For $i = 0 To UBound($aName)-1
$aReturn[$i][0] = $aName[$i]
$aReturn[$i][1] = $aValue[$i]
Next
Return $aReturn
EndFunc ;==>_GetCertificate