NinjaOne & Chocolatey - Softwareverteilung effizient automatisieren

NinjaOne & Chocolatey - Softwareverteilung effizient automatisieren

Veröffentlicht:

Inhaltsverzeichnis

Erfahren Sie, wie Sie mit NinjaOne und Chocolatey Ihre Softwareverteilung automatisieren, große Installationspakete verteilen und eigene Repositories für interne Anwendungen aufbauen.


Warum Softwareverteilung mit NinjaOne und Chocolatey kombinieren?

Die effiziente Softwareverteilung ist für IT-Teams und Managed Service Provider (MSPs) ein zentraler Bestandteil im IT-Alltag. Mit NinjaOne lassen sich Softwareinstallationen auf Windows-Endpunkten automatisieren. Doch gerade bei komplexeren Anwendungen mit mehreren Dateien oder spezifischen Konfigurationsdateien stößt NinjaOne mit klassischen MSI- oder EXE-Paketen an seine Grenzen.

Durch die Kombination mit Chocolatey, dem bekannten Paketmanager für Windows, lassen sich diese Einschränkungen einfach umgehen. In diesem Beitrag zeigen wir Ihnen, wie Sie Chocolatey mit NinjaOne verwenden, um Ihre Softwareverteilung zu professionalisieren und zu automatisieren.


Was macht ein Softwareverteilungstool wie NinjaOne eigentlich?

Die Grundfunktion eines Softwareverteilungstools besteht darin, Installationsdateien zentral bereitzustellen und diese auf Zielgeräten mit administrativen Rechten auszuführen. Typischerweise wird ein Installationsprozess über die Kommandozeile mit Parametern gestartet. Der Exit-Code gibt dann Auskunft über den Erfolg oder Misserfolg der Installation:

  • 0 = Erfolgreiche Installation
  • 3010 = Erfolgreich, aber Neustart erforderlich
  • Andere Codes = Fehlerhaft (über net helpmsg <Code> entschlüsselbar)

NinjaOne übernimmt dabei die sichere Ausführung, wartet auf den Rückgabecode und protokolliert den Status. Chocolatey fungiert als intelligenter Paketmanager, der große Softwarepakete inklusive Konfigurationen elegant handhaben kann.

Vorteile: Warum Chocolatey mit NinjaOne kombinieren?

✅ 1. Große Softwarepakete & komplexe Strukturen möglich

Mit Chocolatey lassen sich Installationspakete erstellen, die aus mehreren Dateien und Ordnern bestehen – ideal für Tools wie AutoCAD, Office-Pakete oder interne Softwarelösungen.

✅ 2. Riesige Auswahl dank Chocolatey Community Repository

Das öffentliche Repository auf chocolatey.org enthält Tausende Pakete – viele davon sofort einsatzbereit. Damit sparen Sie Zeit bei der Paketierung.

✅ 3. PowerShell-basierte Anpassungen möglich

Chocolatey-Skripte lassen sich über PowerShell vollständig anpassen – etwa zur Lizenzintegration, Registry-Anpassung oder Post-Installation Tasks.

✅ 4. Plattformunabhängige Wiederverwendbarkeit

Erstellte Chocolatey-Pakete lassen sich auch außerhalb von NinjaOne nutzen – z. B. per Kommandozeile, in CI/CD-Prozessen oder per Gruppenrichtlinien.


Eigene Repositories für nicht-offizielle Pakete

Während das offizielle Chocolatey-Repository eine Vielzahl von Paketen bietet, kann es vorkommen, dass bestimmte Software nicht verfügbar ist oder durch Konfigurationsdateien oder Lizenzdateien direkt an Ihr Unternehmen Konfiguriert werden soll. In solchen Fällen benötigen Sie ein eigenes Chocolatey-Repository, um diese Software zu verteilen. Eine einfache und effektive Lösung hierfür ist die Verwendung von BaGet, einem leichtgewichtigen NuGet-Server, der sich hervorragend als internes Chocolatey-Repository eignet. BaGet gibt es Open Source und kann mittels Docker einfach gehostet werden.

Wie kann ich Chocolatey in NinjaOne verwenden?

Eine passende Vorlage für die Installation von Chocolatey Paketen finden Sie in der Vorlagen Sammlung von NinjaOne:

Geben Sie dazu einfach im Suchenfeld "chocolatey" ein und Sie finden ein Script mit dem Namen "Chocolatey install, Upgrade and Uninstall". Diese Vorlage installiert nicht nur die angegebene Software, sondern auch Chocolatey selbst, sollte es noch nicht auf dem Zielgerät installiert sein.

Mit dieser Vorlage haben Sie nun die Möglichkeit sämtliche Applikationen aus dem offiziellen Chocolatey Repository zu installieren. Beim freigeben einer Automatisierung geben Sie als Installation Parameter einfach den Paketnamen mit und die Gewünschte Installationsart (Install, Upgrade, Uninstall)

Die Versionsangabe ist optional.

Dieses Script könnten Sie nun kopieren um für diverse Applikationen noch weitere Konfigurationsschritte auszuführen.


Eigenes Chocolatey Repository mit BaGet aufsetzen

BaGet ist ein leichtgewichtiger NuGet-Server, perfekt für den internen Einsatz. Er lässt sich per Docker einfach starten:

  docker run -d -p 5000:80 --name baget \
  -v $(pwd)/baget-data:/var/baget \
  loicsharma/baget

Zugriff dann via:
http://<server-ip>:5000/v3/index.json

Diese URL wird später als Quelle für choco push verwendet.

Eigenes Chocolatey-Paket (Nuget) erstellen

Struktur eines Pakets:

MySoftware/
├── tools/
│   └── chocolateyinstall.ps1
└── MySoftware.nuspec

In die chocoinstall.ps1 schreiben Sie nun den PowerShell code für die unattended Softwareinstallation. Ich selbst verwende immer das AppDeployToolkit welches mir den Prozess noch umso einfacher macht. Mehr Informationen zu AppDeployToolkit findet Ihr auf der AppDeployToolkit Website.

Beispielhafte .nuspec-Datei:

<package>
  <metadata>
    <id>MySoftware</id>
    <version>1.0.0</version>
    <authors>Ihr Team</authors>
    <description>Interne Unternehmensanwendung</description>
  </metadata>
</package>

Paket erstellen

  choco pack

Im nächsten Schritt können wir das Chocolatey Paket in User Repository veröffentlichen.

NuGet-Paket auf eigenes Repository veröffentlichen

  choco push MySoftware.1.0.0.nupkg --source http://<server-ip>:5000/v3/index.json  --api-key <key>

Dieses Paket könnt Ihr nun in NinjaOne mittels dem oben genannten Script referenzieren und installieren. Ihr müsst lediglich noch das Repository im Script definieren.

Fazit: Chocolatey & NinjaOne als Power-Duo der Softwareverteilung

Mit der Kombination aus NinjaOne und Chocolatey erreichen Sie ein neues Level an Flexibilität und Automatisierung in Ihrer Softwareverteilung. Egal ob Sie große Pakete bereitstellen, firmenspezifische Anwendungen verteilen oder automatisierte Rollouts umsetzen – Chocolatey bietet die nötige Kontrolle, NinjaOne die einfache Verwaltung.

Weiterführend