Hm, das funkt irgendwie nicht:
Code
; (Info : für ein AD-Konto auf einem Domänencontroller '/domain' anhängen)
Global $sUsername = "luef /domain" ; hier den gewünschten Usernamen angeben
Global $sPasswordLastSet, $sPasswordExpires, $sPasswordChangeable, $sPasswordRequired
$sPasswordLastSet = _GetCMDOutput('net user ' & $sUsername & ' |find /I "Letztes Setzen des Kennworts"')
$sPasswordExpires = _GetCMDOutput('net user ' & $sUsername & ' |find /I "Kennwort läuft ab"')
$sPasswordChangeable = _GetCMDOutput('net user ' & $sUsername & ' |find /I "Kennwort änderbar"')
$sPasswordRequired = _GetCMDOutput('net user ' & $sUsername & ' |find /I "Kennwort erforderlich"')
MsgBox(64, "CMD Output : net user ", _
$sPasswordLastSet & @CRLF & $sPasswordExpires & @CRLF & $sPasswordChangeable & @CRLF & $sPasswordRequired & @CRLF)
; Ausführen eines Befehls über die Konsole (für Standardbefehle)
Func _GetCMDOutput($sCommand)
Local $iPID, $sSTDOUTText = ""
$iPID = Run(@COMSPEC & ' /c ' & $sCommand, "", @SW_HIDE, $STDOUT_CHILD + $STDERR_CHILD)
If Not @error Then
ProcessWaitClose($iPID)
$sSTDOUTText = StdoutRead($iPID)
EndIf
Return _OEMtoChar(StringStripWS($sSTDOUTText, BitOR($STR_STRIPLEADING, $STR_STRIPTRAILING)))
EndFunc ;==>_GetCMDOutput
Func _OEMtoChar($sOEM)
Local $aDLLReturn, $sAnsi
$aDLLReturn = DllCall('user32.dll', 'Int', 'OemToChar', 'str', $sOEM, 'str', '')
Return @error ? $sOEM : $aDLLReturn[2] ; im Fehlerfall den Originalstring ($sOEM) unkonvertiert zurückgeben
EndFunc ;==>_OEMtoChar
GUICtrlSetData($input_letztkennwort, $sPasswordLastSet)
GUICtrlSetData($input_abkennwort, $sPasswordExpires)
GUICtrlSetData($input_aendernkennwort, $sPasswordChangeable)
Alles anzeigen