Wald bäume und so Applocker hatte ich gar nicht auf dem Schirm...
ist erledigt
Danke^^
Wald bäume und so Applocker hatte ich gar nicht auf dem Schirm...
ist erledigt
Danke^^
Ich bin ja prinzipiell bei euch aber leider können unsere Anwender die Datei wirklich an fast jeden beliebigen Punkt auf dem PC geschoben haben.
Ich hab remote auf 5 Systemen geschaut
System 1 exe liegt auf dem Desktop Autostart NEIN
System 2 exe liegt in C:\Temp Autostart NEIN
System 3 exe liegt in C:\Users\Uxxxx\AppData\Roaming Autostart JA
System 4 exe liegt in C:\Users\Uxxxx\Downloads Autostart JA
System 5 exe liegt in C: \Siemens\ca2di.exe Autostart JA
Unsere Hotline Jungs sind heute nur noch am ... weil ständig jemand anruft
wär also klasse wenn jemand mir nen Tip gibt wie ich wirklich das komplette C Laufwerk durchsuchen kann um dieses Drecktool zu löschen.
Ja das geht leider nicht weil der Prozess nicht bei allen Rechnern läuft und da der Job über Nacht kommt kann der pro Pc ruhig 2 stunden rumjuckeln
Problem ist das sich die Anwender die Exe dahin gespeichert haben wo sie grade lustig waren, ist eine der wenigen Anwendungen die nicht über die CA Softwareverteilung kommt leider.
Hallo Autoit Gemeinde
ich weis grad nicht ob ich mich zu doof anstelle oder ob das wirklich so kompliziert ist....
Unsere Anwender haben auf Ihren Rechnern das Tool "Ca2di.exe" liegen. Leider nicht an einer vorgegebenen Stelle sondern wirklich irgendwo auf C
Ganz unerwartet macht die Exe jetzt Probleme und sie muss auf allen Clients runter.
jetzt möchte ich ein Script schreiben was den Laufenden Prozess sofern vorhanden beendet und danach die Datei sucht und löscht.
Der Teil mit dem Prozess ist schnell gemacht
aber beim Rest hab ich nicht man den richtigen Ansatz.
bitte schubst mich mal einer in die richtige Richtung...
#include <MsgBoxConstants.au3>
If ProcessExists("ca2di.exe") Then
;MsgBox($MB_SYSTEMMODAL, "", "Prozess wird beendet")
ProcessClose ( "ca2di.exe" )
Else
EndIf
löschen()
Func löschen()
Local $Search = FileFindFirstFile("ca2di.exe")
...ganz viel luft nach oben...
FileClose($Search)
EndFunc
Alles anzeigen
Ich hab meinen Fehler gefunden lag in der localization.au3.... war halt doch Blind.
da kommt der $language her dort hat er sich verschluckt.
Danke
Hier gerne eine lauffähige Version.
der Listview wird mit 2 Collums erstellt sollte meiner Meinung nach passen
Danke für die Hilfe
HI Leuts,
eventuell steh ich heute soweit neben mir das ichs nicht seh oder ich versteh schlicht nicht was ich falsch mach... ich bedank mich jetzt schon mal für die vielen hilfreichen Antworten.
Ich erstelle das Array fütter es mit den nötigen Daten soweit alles OK
Wenn ich das Array jetzt in einem Listview einblenden will zeigt er mir nichts an.
Zeile 37 Array wird sauber angezeigt.
Zeile 40 Msg Box kommt mit den passenden Werten
Listview bleibt komplett leer.....
[autoit]
Switch $objRecordSet.RecordCount
Case 0 ; dieser User wurde nicht gefunden
Return 0
Case 1 ; User wurde eindeutig identifiziert anhand des Namens
GUISetState(@SW_SHOW, $Form2) ; Fenster zur Benutzerwahl wieder einblenden
Return 1
Case Else ; User existiert, aber mehrere Treffer (Suchbegriff: Meier ^^)
Dim $treffer_arry[1]
$z = ""
Do
$y = $objRecordSet.Fields(0).Value ; FQDN-Name des Users
If Not StringInStr($y, "ou=Empfänger") Then ; skip all mail-only accounts (ou=benutzer,ou=empfänger)
$oUsr = ObjGet($objRecordSet.Fields(0).Value) ; Retrieve the COM Object for the logged on user
_ArrayAdd($treffer_arry, $oUsr.sn & "," & $oUsr.givenName & "|" & $oUsr.samAccountName)
EndIf
$objRecordSet.MoveNext
Until $objRecordSet.EOF
If UBound($treffer_arry) = 2 Then ; Array hat nur 1 Element => die anderen Treffer waren reine Mailempfänger und wurden beim Übertragen ins Array übergangen
$x = StringInStr($treffer_arry[1], "|")
GUICtrlSetData($edit, StringMid($treffer_arry[1], $x + 1)) ; die Userkennung wird im Suchfenster eingetragen
GUISetState(@SW_SHOW, $Form2) ; Fenster zur Benutzerwahl wieder einblenden
Return -1
Else ; aha, es gibt tatsächlich mehrere User die in Frage kommen
GUISetState(@SW_HIDE, $Form2)
$Form3 = GUICreate($texts[$language][69], 350, 355)
$Enter_key2 = GUICtrlCreateDummy()
Dim $b_AccelKeys[1][2] = [["{ENTER}", $Enter_key2]] ; Hotkey-Array für das Auswerten der Enter-Taste in Form3
GUISetAccelerators($b_AccelKeys, $Form3)
$liste = GUICtrlCreateListView($texts[$language][70], 5, 40, 340, 280)
MsgBox($MB_SYSTEMMODAL, "Title",$liste, 10) ; <-- debug
_GUICtrlListView_SetColumnWidth($liste, 100, 250)
$btn_userwahl = GUICtrlCreateButton("Ok", 5, 325, 340, 25)
GUICtrlCreateLabel($texts[$language][71] & UBound($treffer_arry) - 1 & $texts[$language][72], 5, 5, 290, 30)
_ArrayDelete($treffer_arry, 0) ; das leere erste Feld löschen
_ArraySort($treffer_arry) ; Treffer sortieren
_ArrayDisplay($treffer_arry); <-debug
For $i = 1 To UBound($treffer_arry) - 1 ; und alle Ergebnisse in Listview kopieren
GUICtrlCreateListViewItem($treffer_arry[$i], $liste)
MsgBox($MB_SYSTEMMODAL, "Title", $treffer_arry[$i]& "....." & $liste, 10) ; <- debug
Next
GUISetState(@SW_SHOW, $Form3)
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
If ($msg = $btn_userwahl) Or ($msg = $Enter_key2) Then
$x = GUICtrlRead($liste)
If $x <> "" Then ; nur wenn auch ein User gewählt wurde...
$y = GUICtrlRead($liste) ; die Control-ID des markierten Listview-Items holen
$y = GUICtrlRead($y) ; das ListviewItem auslesen
$tmp = StringSplit($y, "|") ; aufteilen und nur die UserID behalten
$x = GUICtrlSetData($edit, $tmp[2]) ; die Userkennung wird im Suchfenster eingetragen
ExitLoop
EndIf
EndIf
WEnd
GUIDelete($Form3) ; Auswahl-GUI löschen
GUISetState(@SW_SHOW, $Form2) ; Fenster zur Benutzerwahl wieder einblenden
Return -1 ; User wurde im Formuar eingetragen
EndIf
EndSwitch