Software-Extensions mit CMD-Befehlen automatisiert verteilen
Hallo,
ich bräuchte mal eure Meinung.
Ich muss gelegentlich OPSI-Skripte schreiben, um Software zu verteilen. Dabei verwende ich innerhalb des OPSI-Skripts hauptsächlich ganz normale CMD-Befehle. Letztens habe ich ein Skript geschrieben, das systemweit das Programm Visual Studio Code installiert.
Visual Studio Code arbeitet allerdings mit Extensions, die man während der Laufzeit nachladen muss. Standardmäßig werden diese Extensions unter %USERPROFILE%\.vscode\extensions abgelegt.
Mein Problem ist jetzt das Folgende:
Bei uns dürfen die Benutzer keine Software-Extensions nachinstallieren. Aus diesem Grund habe ich die Extensions manuell heruntergeladen und den entsprechenden Visual Studio Code-CLI-Befehl benutzt um die Extensions zu installieren. Während der Softwareinstallation waren die Benutzer in der Domäne angemeldet. Nach erfolgreicher Installation konnten sie die Extensions nutzen. Als sich aber andere Benutzer an den Clients anmeldeten, standen ihnen die Extensions nicht mehr zu Verfügung. Mein Skript hat die Extensions nur für die Benutzer installiert, die während der Installation angemeldet waren.
Habt ihr eine Idee, wie ich mit entsprechenden CMD-Befehlen angeben kann, dass die Extensions für alle Benutzer installiert werden sollen?
Der Vollständigkeit halber füge ich mein OPSI-Skript hinzu.
ich bräuchte mal eure Meinung.
Ich muss gelegentlich OPSI-Skripte schreiben, um Software zu verteilen. Dabei verwende ich innerhalb des OPSI-Skripts hauptsächlich ganz normale CMD-Befehle. Letztens habe ich ein Skript geschrieben, das systemweit das Programm Visual Studio Code installiert.
Visual Studio Code arbeitet allerdings mit Extensions, die man während der Laufzeit nachladen muss. Standardmäßig werden diese Extensions unter %USERPROFILE%\.vscode\extensions abgelegt.
Mein Problem ist jetzt das Folgende:
Bei uns dürfen die Benutzer keine Software-Extensions nachinstallieren. Aus diesem Grund habe ich die Extensions manuell heruntergeladen und den entsprechenden Visual Studio Code-CLI-Befehl benutzt um die Extensions zu installieren. Während der Softwareinstallation waren die Benutzer in der Domäne angemeldet. Nach erfolgreicher Installation konnten sie die Extensions nutzen. Als sich aber andere Benutzer an den Clients anmeldeten, standen ihnen die Extensions nicht mehr zu Verfügung. Mein Skript hat die Extensions nur für die Benutzer installiert, die während der Installation angemeldet waren.
Habt ihr eine Idee, wie ich mit entsprechenden CMD-Befehlen angeben kann, dass die Extensions für alle Benutzer installiert werden sollen?
Der Vollständigkeit halber füge ich mein OPSI-Skript hinzu.
[Initial]
Message="Installiere Visual Studio Code"
DefVar $ExitCode$
DefVar $policy$
[Aktionen]
ShowBitmap "%ScriptPath%\logo.png" "Microsoft Visual Studio Code"
WinBatch_Setup
WinBatch_Extensions
WinBatch_TASKKILL
Sub_HandleExitCode
[WinBatch_Setup]
"%ScriptPath%\data\VSCodeSetup-x64-1.55.2.exe" /VERYSILENT /NORESTART
[WinBatch_Extensions]
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_csharp.vsix
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_coderunner.vsix
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_xmldoc.vsix
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_nuget.vsix
"%ProgramFilesDir%\Microsoft VS Code\bin\code" --install-extension %ScriptPath%\data\ext_previewer.vsix
dotnet new --debug:reinit
[WinBatch_TASKKILL]
TASKKILL /IM code.exe /F
[Sub_HandleExitCode]
; check return code
Set $ExitCode$ = GetLastExitCode
comment "GetLastExitCode: " + $ExitCode$
if not($ExitCode$ = "0")
LogError "Fatal: setup returned exit code " + $ExitCode$
IsFatalError
endif
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 666448
Url: https://administrator.de/forum/software-extensions-mit-cmd-befehlen-automatisiert-verteilen-666448.html
Ausgedruckt am: 09.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar
Die meisten vsix sind Userbasierend. Eventuell mit einem ActiveSetup.
Hier wird das ziemlich gut beschrieben:
https://helgeklein.com/blog/2010/04/active-setup-explained/
2. Möglichkeit:
Den Switch /admin bei der Installation verwenden.
Grüße!
Hier wird das ziemlich gut beschrieben:
https://helgeklein.com/blog/2010/04/active-setup-explained/
2. Möglichkeit:
Den Switch /admin bei der Installation verwenden.
VSIXInstaller.exe /admin "file_path.vsix"
Grüße!
Ist ein bekanntes Problem von VS code. Hier gibt es ein paar mehr oder weniger praktikable Workarounds:
VS-Code extension-dir
VS-Code extension-dir