Hallo @all,
ich habe mal eine Frage und hoffe das mir geholfen werden kann
Ich habe eine GUI gebaut um uns etwas das leben auf Arbeit zu erleichtern. In diesem Fall geht es darum inaktive Profile auf den Rechner im Netzwerk zu löschen. Im mom ist es so das wir das Händisch über die CMD Console mit dem Befehlt "delprof" machen. Es gibt eine Menge Sachen die wir über die Console machen, was ich jetzt aber alles in ein Tool zusammen fassen möchte. Nun zu meinem Problem.
Wenn ich nun den Befehl "delprof" ausführe, ist es im mom so das die Console offen ist und sie mir untereindander anzeigt welches Profil gerade auf den Rechner den ich vorher bestimmt habe, gelsöcht wird, also:
C:> Lösche Profil user1....
C:> Lösche Profil user2....
usw. bis die inaktiven Profile gelöscht wurden
Das möchte ich auch gerne mit meinem Tool haben, allerdings bekomme ich das mit der Anzeige nicht hin.
Ich der blauen Markierung sollte die Anzeige mit dem Status dann stehen wie gerade die Profile gelöscht werden, allerdings kommt dort keine anzeige
Mein bisheriger Code:
Spoiler anzeigen
#include <GUIConstants.au3>
#include <Constants.au3>
#Region ### START Koda GUI section ### Form=c:\users\michach\desktop\sd-tools.kxf
$Form1_1 = GUICreate("Form1", 568, 571, 616, 220)
$Tab1 = GUICtrlCreateTab(8, 8, 553, 553)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet2 = GUICtrlCreateTabItem("User Profile")
$Group1 = GUICtrlCreateGroup("Alle lokalen Profile löschen", 16, 48, 537, 97)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label1 = GUICtrlCreateLabel("Hostname:", 49, 88, 69, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input1 = GUICtrlCreateInput("", 120, 86, 89, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("Löschen", 223, 85, 73, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Profil zurücksetzen", 16, 177, 537, 113)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Username:", 22, 218, 70, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input2 = GUICtrlCreateInput("", 93, 216, 89, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button2 = GUICtrlCreateButton("Profil zurücksetzen", 206, 257, 145, 25, 0)
$Label3 = GUICtrlCreateLabel("Homeserver:", 194, 217, 82, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input3 = GUICtrlCreateInput("", 276, 215, 89, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("Hostname:", 378, 217, 69, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input4 = GUICtrlCreateInput("", 447, 215, 89, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$LabelAusgabe = GUICtrlCreateLabel("", 17, 304, 540, 228)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label14 = GUICtrlCreateLabel("Version 1.0", 496, 536, 57, 17)
$TabSheet3 = GUICtrlCreateTabItem("Tools")
GUICtrlSetState(-1,$GUI_SHOW)
$Group3 = GUICtrlCreateGroup("Diverse Tools", 16, 48, 537, 465)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Button3 = GUICtrlCreateButton("Display", 24, 152, 105, 25, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("( Hostname ) Öffnet die Bildschirm-Einstellungen auf dem Rechner des Benutzers", 144, 155, 384, 17)
$Button4 = GUICtrlCreateButton("Einstellungen", 24, 202, 105, 25, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("( Hostname ) Öffnet die Einstellungen auf dem Rechner des Benutzers", 144, 205, 334, 17)
$Button5 = GUICtrlCreateButton("Systemeig.", 24, 251, 105, 25, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("( Hostname ) Öffnet die Systemeigenschaften auf dem Rechner des Benutzers", 144, 254, 372, 17)
$Button6 = GUICtrlCreateButton("Compverw.", 24, 301, 105, 25, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label8 = GUICtrlCreateLabel("( Hostname ) Öffnet die Computerverwaltung auf dem Rechner des Benutzers.", 144, 304, 371, 17)
$Button7 = GUICtrlCreateButton("Quota", 24, 350, 105, 25, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label9 = GUICtrlCreateLabel("( Hostname ) Startet eine Quota Abfrage auf dem Host für den Benutzer.", 144, 353, 343, 17)
$Label11 = GUICtrlCreateLabel("Hostname:", 58, 96, 69, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input5 = GUICtrlCreateInput("", 128, 94, 89, 24)
$Label12 = GUICtrlCreateLabel("Benutzername:", 302, 96, 93, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input6 = GUICtrlCreateInput("", 396, 94, 89, 24)
$Button9 = GUICtrlCreateButton("Shutdown", 25, 410, 105, 25, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Label13 = GUICtrlCreateLabel("( Hostname ) Startet den Rechner innerhalt 5 Sek. neu. ( Erzwungen )", 145, 413, 332, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label10 = GUICtrlCreateLabel("Version 1.0", 497, 537, 57, 17)
$TabSheet4 = GUICtrlCreateTabItem("Hilfe")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;If FileExists("c:\Kopie") Then
While 1
;Variablen
$tab1hostname1 = GUICtrlRead ($Input1)
$tab1username = GUICtrlRead ($Input2)
$tab1homeserver = GUICtrlRead ($Input3)
$tab1hostname2 = GUICtrlRead ($Input4)
$tab2hostname = GUICtrlRead ($Input5)
$tab2username = GUICtrlRead ($Input6)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
;Case $Tab1
;###################################################################
;Alle lokalen Profile löschen
;###################################################################
Case $Button1
;$tab1hostname1 = GUICtrlRead ($Input1)
$cmdProfilLoeschen = Run(@COMSPEC & " /c delprof /c:\\" & $tab1hostname1 & " /i /q", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
While 1
$ausgabe = StderrRead($cmdProfilLoeschen)
If @error Then ExitLoop
GUICtrlSetData ($LabelAusgabe,$ausgabe)
Wend
;###################################################################
;Profil zurücksetzen
;###################################################################
Case $Button2
;Lokales Profil löschen
;Server Profil kopieren
If( $tab1hostname2 == "" Or $tab1username == "" Or $tab1homeserver == "") Then
GUICtrlSetData ($LabelAusgabe,"Bitte alle Felder ausfüllen!")
Else
$kopieren = DirCopy("\\"&$tab1hostname2&"\profile\"&$tab1username, "\\"&$tab1hostname2&"\profile\"&$tab1username&".sic")
GUICtrlSetData ($LabelAusgabe,"Alle Felder ausgefüllt.")
EndIf
;###################################################################
;Display auf dem Host anzeigen
;###################################################################
Case $Button3
If( $tab2hostname == "") Then
GUICtrlSetData ($LabelAusgabe,"Bitte den Hostnamen eingeben!")
Else
$cmdDisplay = Run(@COMSPEC & " /c psexec \\"&$tab2hostname&" -u ewenet\%username% -i -p "&$pwd&" c:\winnt\system32\control.exe desk.cpl")
;GUICtrlSetData ($LabelAusgabe,$cmdDisplay)
EndIf
;###################################################################
;Führt settings.bat auf dem Host aus
;###################################################################
Case $Button4
If( $tab2hostname == "") Then
GUICtrlSetData ($LabelAusgabe,"Bitte den Hostnamen eingeben!")
Else
$cmdEinstellungen = Run(@COMSPEC & " /c Psexec \\"&$tab2hostname&" -s c:\winnt\settings.bat")
EndIf
;###################################################################
;Systemeigenschaften auf dem Host anzeigen
;###################################################################
Case $Button5
$cmdSystem = Run(@COMSPEC & " /c psexec \\"&$tab2hostname&" -u ewenet\%username% -i c:\winnt\system32\rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0")
;###################################################################
;Computerverwaltung auf dem Host anzeigen
;###################################################################
Case $Button6
$cmdComputer = Run(@COMSPEC & " /c psexec \\"&$tab2hostname&" -u ewenet\%username% -i -w C:\WINNT\system32 C:\WINNT\system32\mmc.exe C:\WINNT\system32\compmgmt.msc")
;###################################################################
;Quota des Benutzers abfragen
;###################################################################
Case $Button7
;$cmdQuota = Run(@COMSPEC & " /c Psexec \\"&$tab2hostname&" -s c:\winnt\settings.bat >NUL)
EndSwitch
WEnd
;InetGet - Lädt eine Datei aus dem Internet
Der Code ist noch in bearbeitung, wichtig ist der Teil mit "Alle lokalen Profile löschen". Die Variable "$LabelAusgabe" ist das Label wo man die blaue Umrandung auf dem Screen sehen kann, da sollte die Ausgabe erfolgen.