This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Sophos Endpoint Protection auf Clients per CMD Skript installieren

Wir haben seit kurzem Sophos Endpoint Protection was ich über Sophos Central manage.

Dieses möchte ich nun ausrollen für den Rest der Mitarbeiter. Geschehen soll dies über ein CMD Skript was ich auf der Sophos Support Seite bereits gefunden habe:

@echo off
SET MCS_ENDPOINT=Sophos\Management Communications System\Endpoint\McsClient.exe
IF "%PROCESSOR_ARCHITECTURE%" == "x86" GOTO X86_PROG
IF NOT EXIST "%ProgramFiles(x86)%\%MCS_ENDPOINT%" GOTO INSTALL
exit /b 0

:X86_PROG
IF NOT EXIST "%ProgramFiles%\%MCS_ENDPOINT%" GOTO INSTALL
exit /b 0

:INSTALL
pushd \\servername\share
SophosSetup.exe --quiet
Popd

 

Leider funktioniert dies nicht. Nach einiger Fehlersuche habe ich festgestellt, der Code bricht schon im ersten Block ab.

Leider habe ich keine großartigen Kenntnisse in Batch Programmierung und bin daher etwas aufgeschmissen an diesem Punkt.

Die dazugehörige GPO wird wie geplant angewendet. Die Setup.exe soll über ein freigegebenes Netzlaufwerk M:\Endpoint\SophosSetup.exe verteilt werden.

Kann mir jemand helfen, wie der Code geändert werden muss damit dies funktioniert?

 

Vielen Dank im voraus!



This thread was automatically locked due to age.
  • Danke für deine ausgiebige Hilfe Christian!

    Der Code IF EXIST "%ProgramFiles(x86)%\%MCS_ENDPOINT%" (ECHO Mcs existiert) ELSE ECHO Doch nicht

    ergibt "doch nicht" denn das Verzeichnis ist nicht vorhanden.

    Ich frage mich gerade wie man den Code genau umschreiben muss, um den Architektur Check der nicht notwendig ist zu entfernen.

    Die Zeile

    SET MCS_ENDPOINT=Sophos\Management Communications System\Endpoint\McsClient.exe

    Wird glaube ich benötigt, da er dort eine Variable definiert? Der Inhalt dieser würde dann über pushd weitergegeben werden an das Verzeichnis mit der Sophos.exe?

    Ansonsten wenn nicht benötige ich ja theoretisch nur einen Verweis auf den Netzwerkspeicherort?

     

  • Was ist denn jetzt mit dem Freigabe Name in dem sich die Exe befindet, ist der richtig?

    pushd \\server\muster\Endpoint

     

    Bitte mal im Script an erster Stelle das echo off durch echo on ersetzten und die Ausgabe anzeigen.

    zusätzlich noch ein "net use" Ausgabe ausgeben und hier posten.

     

    Sofern die Freigabe von \\server\ richtig ist, funktioniert das Script auch ohne Probleme!

  • Hallo Administrator User178,

    das hier ist zwar kein CMD/.BAT Forum [:)] ....

    SET MCS_ENDPOINT definiert eben diese Variable, sonst müsste man den langen Pfad zweimal tippen (und wenn nötig an zwei Stellen ändern).

    pushd (einfach einmal im Command Prompt Fenster pushd /? eingeben) speichert das aktuelle Arbeitsverzeichnis und ändert es dann auf den angegebenen Pfad. Hat nichts mit der Variablen zu tun. cd

    Eine "naive" Minimalvariante (es geht aber noch primitiver) des Skripts wäre:
    IF EXIST "C:\Program Files (x86)\Sophos\Management Communications System\Endpoint\McsClient.exe" exit /b 0
    pushd \\server\muster\Endpoint
    SophosSetup.exe --quiet
    popd

    64Bit angenommen, keine Variable, kein GOTO. Aber eigentlich tut der Architektur Check nicht weh und eigentlich sollte das Skript aus dem ersten Post ja funktionieren.

    Christian

  • Erstmal vielen Dank an euch beide, ich habe es zu 90% jetzt hintereinander! Die BAT Datei installiert die Setup.exe im Hintergrund.

    Ich habe das Skript wie folgt auf das notwendigste reduziert:

    @echo off
    pushd \\Servername\muster1\Endpoint\
    SophosSetup.exe --quiet
    Popd

    Auch wenn das Netzlaufwerk nur mit Namen "Muster" verbunden worden ist (automatisch gemappt per GPO) ist der wirkliche Name aber muster1.

    Nach einem kurzen Test muss ich jetzt nur noch die Proxy Einstellungen für 64 bit unter

    1. cd C:\Windows\SysWOW64
    2. netsh winhttp set proxy proxy-server="http=proxy server address:proxy port;https=proxy server address:proxy port"

    Dementsprechend anpassen das unser Proxy die Exe herunterladen lässt. Das werde ich auch noch in die GPO für die Verteilung packen und dann sollte es das gewesen sein.

     

    Vielen Dank nochmal!