Drivelock .bat Fix

Antworten
afriixy
Beiträge: 10
Registriert: 13. Mär 2019, 10:43
Kontaktdaten:

Drivelock .bat Fix

Beitrag von afriixy » 14. Apr 2020, 11:58

Hallo zusammen,
ich stehe vor einem kleinen Problem, welches ich mit einem Paket zu beheben versuche.

Ich möchte gerne folgende Befehle abgeben:

net stop dlhm
net stop dlupdate
net stop drivelock
C:\Windows\System32\reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\CenterTools\DLStatus\AllowedCerts /f
del "%programdata%\CenterTools DriveLock\Config\*.*" /q /s

Meine Idee dazu:
[Set:Product]
If DoesFileExist ("%ProgramData%\CenterTools DriveLock\Config\*.*") == "1" Then "Set:StopServices" Then "Reg:DelOldKey" Then "Set:DelProgramData" EndIf
Er soll anhand des Programmordners die Abfrage starten.

In den erstellten Gruppen "Set:StopServices" - "Reg:DelOldKey" & "Set:DelProgramData" - stehen folgende Befehle:
[Set:StopServices]
callhidden "cmd.exe" /c net stop %dlhm%
callhidden "cmd.exe" /c net stop %dlupdate%
callhidden "cmd.exe" /c net stop %drivelock%
[Reg:DelOldKey]
-HKLM,"SOFTWARE\CenterTools\DLStatus\AllowedCerts"
[Set:DelProgramData]
deltree "%programdata%\CenterTools DriveLock\Config\*.*"
Könnte das so passen?
Zuletzt geändert von afriixy am 14. Apr 2020, 13:40, insgesamt 1-mal geändert.

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7598
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: Drivelock .bat Fix

Beitrag von Hendrik_Ambrosius » 14. Apr 2020, 13:20

Mehrere THENs nacheinander gehen nicht. Also EINE Sektion anspringen und dann dort nacheinander die weitere Sektionen mit einem "#" aufrufen, z.B. #Reg:DelOldKey.

Das erklärt aber nicht wieso das Paket nicht installiert wird.
Dazu müßten Sie mal die setup.inf und die entsprechende Stelle aus der swdepot.dds posten.
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

afriixy
Beiträge: 10
Registriert: 13. Mär 2019, 10:43
Kontaktdaten:

Re: Drivelock .bat Fix

Beitrag von afriixy » 14. Apr 2020, 14:41

Hendrik_Ambrosius hat geschrieben:
14. Apr 2020, 13:20
Mehrere THENs nacheinander gehen nicht. Also EINE Sektion anspringen und dann dort nacheinander die weitere Sektionen mit einem "#" aufrufen, z.B. #Reg:DelOldKey.
Danke vorab.

Ich habe die Reihe von [Product] zuvor um:
#Set:Stopservices
#Set:DelProgramData
#Reg:DelOldKey

erweitert.

Nun habe ich den Eintrag unter [Set:Product]:
If DoesFileExist ("%ProgramData%\CenterTools DriveLock\Config\*.*") == "1" Then "Set:Stopservices" EndIf verkürzt.

Nun springt er nach Abfrage der Datei in -> Set:Stopservices, wie gebe ich ihm jetzt konkret den Befehl, dass er danach in z.B. Set:DelProgramData springt?

Einfach im Anschluss
callhidden "cmd.exe" /c net stop %dlhm%
callhidden "cmd.exe" /c net stop %dlupdate%
callhidden "cmd.exe" /c net stop %drivelock%
Befehle ein #Set:DelProgramData?
Hendrik_Ambrosius hat geschrieben:
14. Apr 2020, 13:20
Das erklärt aber nicht wieso das Paket nicht installiert wird.
Dazu müßten Sie mal die setup.inf und die entsprechende Stelle aus der swdepot.dds posten.
Das hat sich erledigt, der Client stand noch auf einem Reboot!

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7598
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: Drivelock .bat Fix

Beitrag von Hendrik_Ambrosius » 14. Apr 2020, 17:53

Nein, das geht so nicht weil die Sektionen dann IMMER angesprungen werden.
Sie dürfen nur in der SET-Sektion stehen die vom IF angesprungen wird.

Also z.B.
If DoesFileExist ("%ProgramData%\CenterTools DriveLock\Config\*.*") == "1" Then "Set:DriveLock" EndIf

[Set:DriveLock]
#Set:Stopservices
#Set:DelProgramData
#Reg:DelOldKey
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

afriixy
Beiträge: 10
Registriert: 13. Mär 2019, 10:43
Kontaktdaten:

Re: Drivelock .bat Fix

Beitrag von afriixy » 15. Apr 2020, 16:20

Hendrik_Ambrosius hat geschrieben:
14. Apr 2020, 17:53
Nein, das geht so nicht weil die Sektionen dann IMMER angesprungen werden.
Sie dürfen nur in der SET-Sektion stehen die vom IF angesprungen wird.

Also z.B.
If DoesFileExist ("%ProgramData%\CenterTools DriveLock\Config\*.*") == "1" Then "Set:DriveLock" EndIf

[Set:DriveLock]
#Set:Stopservices
#Set:DelProgramData
#Reg:DelOldKey

Vielen Dank, das scheint gefruchtet zu haben.
So kannte ich die Verschachtelung auch noch nicht. Danke!

-> Das Paket wird jetzt durch installiert und im Log steht auch, dass es fehlerfrei installiert wurde.

Leider greift das Paket aber noch nicht auf Windows Ebene. Kann ich dem Paket mitteilen, dass es als Administrator ausgeführt werden soll? Wenn ja, wie?
Ich hoffe, dass es danach dann ordentlich läuft.

Danke für Ihre Mühe bis dahin!

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7598
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: Drivelock .bat Fix

Beitrag von Hendrik_Ambrosius » 15. Apr 2020, 17:46

Dafür kann man ein CALLRUNAS einbauen mit den entsprechenden Login-Daten.
Man kann auch eine setup.exe mit einer weiteren minimal-Setup.inf so aufrufen.
Die würde dann z.B. so aussehen:

[Setup]
Version=6.5
ShowCaption=1
Platform=x64

[Requirements]

[Application]
ShowEndMessage=0
DisableCancelButton=1
SrcDir=..

[Options]
run = run, COPYALWAYS

[run]
echo Hier kommt das eigentliche Script.
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

afriixy
Beiträge: 10
Registriert: 13. Mär 2019, 10:43
Kontaktdaten:

Re: Drivelock .bat Fix

Beitrag von afriixy » 16. Apr 2020, 11:42

[Product]
; ReplaceEnv <Variable>

#Set:Product
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product
#Set:DriveLock
#Set:Stopservices
#Set:DelProgramData
#Reg:DelOldKey

[Set:Product]
If DoesFileExist ("%ProgramData%\CenterTools DriveLock\Config\*.*") == "1" Then "Set:DriveLock" EndIf

[Reg:OnUninstallProduct]

[Reg:Product]

[Set:DriveLock]
#Set:Stopservices
#Set:DelProgramData
#Reg:DelOldKey

[Set:Stopservices]
CallRunas /U:XXX /P:XXX "cmd.exe" /c net stop %dlhm%
CallRunas /U:XXX /P:XXX "cmd.exe" /c net stop %dlupdate%
CallRunas /U:XXX /P:XXX "cmd.exe" /c net stop %drivelock%

[Set:DelProgramData]
CallRunas /U:XXX /P:XXX "cmd.exe" /c "%programdata%\CenterTools DriveLock\Config\*.*" /S /Q

[Reg:DelOldKey]
CallRunas /U:XXX /P:XXX "cmd.exe" /c reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\CenterTools\DLStatus\AllowedCerts"

So sieht es aktuell aus.
Das Paket installiert sich ordentlich, ohne Fehler. Bei der Installation tauchen auch diverse CMD Fenster auf. Leider werden weder Dienste beendet, noch Reg/Datei Ordner gelöscht.

Wenn ich das cmd Fenster mit dem o.g. User manuell auf dem Rechner starte, gehen die Befehle erfolgreich durch!

Sehen Sie hier noch einen offensichtlichen Fehler?

Ihre 2. Idee mit der setup.exe ist für mich leider technisch nicht umsetzbar :roll:

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7598
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: Drivelock .bat Fix

Beitrag von Hendrik_Ambrosius » 16. Apr 2020, 12:36

Nehmen Sie zum Beenden des Dienstes am besten den internen StopService Befehl.
Auch für das Löschen der RegKeys bitte.
CallRunAs ist eh kein gültiger Befehl für eine REG-Sektion!

Beispiel:
[Reg:Cleanup]
-HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon",DefaultPassword,0000000000,""

Zum Testen starten Sie statt der EXE direkt mal eine CMD mit einem PAUSE am Ende.
Dann können Sie die Fehlermeldungen sehen.
Oder einfach nur eine cmd.exe starten und die Befehle manuell eingeben.
Dann sehen Sie auch ob die Anmeldung als der andere User geklappt hat.

Aufruf der zweiten setup.inf einfach über call setup.exe setup.inf
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

afriixy
Beiträge: 10
Registriert: 13. Mär 2019, 10:43
Kontaktdaten:

Re: Drivelock .bat Fix

Beitrag von afriixy » 16. Apr 2020, 16:57

Manchmal ist so kompliziert denken gar nicht so optimal.

Habe es jetzt anders gelöst.
Rufe jetzt die .bat einfach mit einem CallRunAs auf, ohne die einzelnen Schritte selbst mit dem Empirum durchzugehen.
[Set:Product]
If DoesFileExist ("%ProgramData%\CenterTools DriveLock\Config\*.*") == "1" Then "Set:DeleteKey" EndIf
[Set:DeleteKey]
CallRunAs /U:XXX /P:XXX "%Src%\DriveLockCMD.bat
Zuvor mit einer Pause geprüft, um zu schauen was er ausgibt.

Passt.

Vielen Dank für Ihre Hilfe und Ihre Geduld.

skd
Beiträge: 67
Registriert: 12. Mai 2015, 10:11
Kontaktdaten:

Re: Drivelock .bat Fix

Beitrag von skd » 20. Apr 2020, 15:59

Hallo,
haben Sie kein Problem mit der Deinstallation einer vorherigen Version. Bei uns wird bei der Deinstallation, der Explorer beendet und leider auch nicht mehr gestartet ?
VG
Max

afriixy
Beiträge: 10
Registriert: 13. Mär 2019, 10:43
Kontaktdaten:

Re: Drivelock .bat Fix

Beitrag von afriixy » 21. Apr 2020, 08:36

skd hat geschrieben:
20. Apr 2020, 15:59
Hallo,
haben Sie kein Problem mit der Deinstallation einer vorherigen Version. Bei uns wird bei der Deinstallation, der Explorer beendet und leider auch nicht mehr gestartet ?
VG
Max
Hallo. Wir haben damit keine Probleme.
Aber unsere Batch soll aber auch nur die Dienste killen, um danach via GPO das neuste Update auf die PC's zu installieren.
Da gibt es keine Probleme...

Vielleicht mal einen Aufruf mit C:\Windows\System32\runas.exe /user:domain\admministrator "C:\Windows\explorer.exe" starten?

Antworten

Zurück zu „Empirum“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast