darkzonesd
Goto Top

Msi exec funktioniert in cmd jedoch nicht als .bat

Guten Tag,

ich habe eine Batch-Datei mit dem Code:

echo
IF NOT EXIST %Google\Chrome\Application\chrome.exe% (
MsiExec.exe /i \\*fileserver*\install\SoftwareVerteilung\ChromeDateien\googlechromestandaloneenterprise.msi /qn 
)
exit

Die dafür sorgen soll, das auf jedem Rechner auf dem Chrome nicht installiert ist, dies nach Systemstart getan wird.
Wenn ich dem Code in einer elevated commad Prompt ausführe, führt er erst die MsiExec.exe aus und dann die chrome_installer.exe, wie gewünscht. Wenn ich das ganze jedoch über die Batch datei mache startet er keinen .exe. Ich habe versucht den Code als .cmd zu speichern damit funktioniert es ebenfalls nicht.

Ich vermute er benötigt noch eine Berechtigung o.Ä.?

Für jede Hilfe bin ich dankbar, liebe Grüße


Florian

Content-Key: 3100813607

Url: https://administrator.de/contentid/3100813607

Ausgedruckt am: 29.03.2024 um 09:03 Uhr

Mitglied: DerWoWusste
DerWoWusste 17.06.2022 um 14:23:40 Uhr
Goto Top
Hi.

Die Batch muss dann auch elevated ausgeführt werden.
Mitglied: DarkZoneSD
DarkZoneSD 17.06.2022 um 14:48:17 Uhr
Goto Top
Mach ich, tut sich leider nichts.
Mitglied: TomTomBon
TomTomBon 17.06.2022 um 14:51:58 Uhr
Goto Top
Moin Moin

Mein Sniperl den Ich mal gefunden habe und häufig nutze:

set "Auszufuehren=%TMP%\%Betreff%.cmd"  
copy "%~0" "%Auszufuehren%"  
:Admin-Rechte
net session >nul 2>&1 || (powershell -EP Bypass -NoP -C start '"%Auszufuehren%'" -verb runas &exit /b)  

Dann ist es lokal gespeichert und wird UAC gesteuert eleviert gestartet.
Bis auf das es sich 2mal aufruft (starten, kopieren und die Kopie dann eleviert starten), klappt es gut.
Teilweise schreibe Ich die Befehle in das %Auszufuehren% und rufe die dann auf.
Kommt auf den Kontext an.
Nur, Es wird dann trotzdem jemand benötigt der dies abnickt !
Mit Admin Rechten..


Oder man startet dies über die Task Planung mit System Rechten.
ABER
Wenn das jemand raus bekommt das DIESE CMD immer als Admin startet..
Kann man diese CMD umschreiben face-wink

Oder du nimmst RunAsRob.
https://robotronic.de/runasspc.html

Klappt auch gut.
Kostet halt.
Mitglied: DerWoWusste
DerWoWusste 17.06.2022 um 14:53:49 Uhr
Goto Top
Dann füge ein
pause
als letzte Codezeile hinzu und gib wieder, was da ausgegeben wird.
Mitglied: TomTomBon
Lösung TomTomBon 17.06.2022 um 14:56:59 Uhr
Goto Top
Kleine Frage.

Ist diese Variable etwas daneben gegangen?
%Google\Chrome\Application\chrome.exe%

In einer Batch KANN die nicht ausgeführt werden !

Die Sonderzeichen müßten maskiert werden.
Oder anders verarbeitet werden.
Mitglied: DarkZoneSD
DarkZoneSD 17.06.2022 um 14:59:31 Uhr
Goto Top
C:\Users\administrator>echo
ECHO ist eingeschaltet (ON).

C:\Users\administrator>IF NOT EXIST %Google\Chrome\Application\chrome.exe% (
Mehr? MsiExec.exe /i \\**Fileserver**\install\SoftwareVerteilung\ChromeDateien\googlechromestandaloneenterprise.msi /qn
Mehr? )

C:\Users\administrator>pause
Drücken Sie eine beliebige Taste . . .

In der cmd steht dann der richtige Fileserver name drin ;)
Mitglied: DarkZoneSD
DarkZoneSD 17.06.2022 um 15:16:29 Uhr
Goto Top
Klappt.

Wieso funktioniert das in der cmd, aber nicht in einer .bat? Habe den Dateipfad jetzt angepasst und es funktioniert wunderbar.

( Ich hatte ganz schlau die % wie in der Windows suche benutzt, das er einen Pfad sucht der den Aufbau %Google\Chrome\Application\chrome.exe% hat, und ihm egal ist was davor oder danach kommt.

Ich hatte den komplette Pfad nicht benutzt da ich dachte er würde es aufgrund des Leerzeichens im Dateipfad "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" nicht finden. % sind ja da um Variablen einzuleiten.

Die :bat wird dann zukünftig als Computerrichtlinie in den GPOs ausgeführt also sollte das mit den Admin-Rechten kein Problem darstellen.

Vielen Dank für die Hilfe
Mitglied: TomTomBon
TomTomBon 17.06.2022 um 15:26:18 Uhr
Goto Top
Nicht richtig.
%VariableX% SIND die variablen.

%Google\Chrome\Application\chrome.exe% ist der Name der Variablen, NICHT was er aufrufen soll.

Das lege Ich fest mittels:
set "Chromevorhanden=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"  
Und frage ab jetzt IF NOT EXIST %Chromevorhanden%
Mitglied: DarkZoneSD
DarkZoneSD 17.06.2022 um 15:56:24 Uhr
Goto Top
Super! Vielen Dank und schönes Wochenende.