Ruslan Grumble - Fotolia

F

Kann die PowerShell zur automatisierten Software-Bereitstellung verwendet werden?

Ohne Automatisierung ist die Software-Bereitstellung ein langwieriger und fehleranfälliger Prozess. Lässt sich hierfür auch die PowerShell verwenden?

Dieser Artikel behandelt

Desktop-Management

ÄHNLICHE THEMEN

Softwareherstellern fällt immer wieder etwas Neues ein. Entsprechend häufig ändern sie ihre Produkte. Ohne eine automatisierte Softwareaktualisierung ist es nahezu unmöglich, mit diesen schnellen Iterationen Schritt zu halten.

Das Deployment von Software in Unternehmensumgebungen ist ohne eine Automatisierung eine undankbare, ja nahezu unmögliche Aufgabe. Kaum hat man Updates für eine bestimmte Software gesucht, verpackt, auf den Desktops verteilt und installiert, stehen auch schon wieder die nächsten Aktualisierungen an und alles beginnt von vorne.

Die Verteilung von Software auf Unternehmensrechnern ist aber wenigstens ein Standardprozess: Die Software muss verpackt werden, die Gruppe der Zielmaschinen muss definiert werden, und anschließend muss die Software an die Maschinen verteilt und installiert werden, ohne dabei den Arbeitsfluss der Anwender zu stören.

Als Werkzeug für die Automatisierung der Softwarebereitstellung bietet sich etwa Microsofts System Center Configuration Manager, Symantecs Endpoint Management oder Dells KACE an. Diese Tools beschleunigen den Vorgang, lassen aber Lücken offen. Solche Lücken lassen sich wiederum hervorragend mit der Windows PowerShell schließen. In kleinen und mittleren Betrieben könnte sich sogar der alleinige Einsatz der PowerShell als die beste Wahl zur Softwarebereitstellung herausstellen. Die PowerShell bietet Skripte für die verschiedensten Schritte des Deployments und bietet die nötige Flexibilität, das Was, Wie und Wann der Softwarebereitstellung abzudecken.

Das Software-Deployment über die PowerShell ist ein vergleichsweise einfacher Vorgang, eignet sich aber eher weniger für die zumeist komplexen Anforderungen größerer Unternehmen. Die Softwarebereitstellung auf tausenden von Unternehmensdesktops birgt ganz andere Probleme. Trotzdem ist durchaus auch die PowerShell ein geeignetes Tool zur Bereitstellung von Software – wenn eben auch eher in kleineren und mittleren Unternehmen.

Software-Deployments per PowerShell automatisieren

Am Anfang steht natürlich die Frage, welche Software verteilt werden soll. Anschließend wird ein kleines Skript erstellt, das die Zielmaschinen definiert. Von hier aus werden alle anderen Aktionen gestartet. Auf GitHub findet sich das Beispiel-Skript, das wir im weiteren Verlauf dieses Artikels verwenden werden.

Soll beispielsweise ein Softwarepaket von Malwarebytes auf zwei Desktops mit den Namen MEMBERSRV1 und LABSQL verteilt werden, so muss lediglich das eben genannte Skript angepasst werden. Hierfür wird es als Deploy-Software.ps1 auf einem lokalen Rechner abgespeichert und wie im Folgenden dargestellt ausgeführt (Abbildung 1 zeigt den daraus resultierenden Ablauf):

& .\Deploy-Software.ps1 -Client 'MEMBERSRV1','LABSQL' -InstallerFilePath C:\Software\mbam-setup-2.2.0.1024.exe –Verbose

 Das PowerShell-Skript zur automatisierten Softwarebereitstellung bei der Arbeit.
Abbildung 1: Das PowerShell-Skript zur automatisierten Softwarebereitstellung bei der Arbeit.

Überprüft man nun die angegebenen Desktops, so sollte jetzt auf jedem Malwarebytes vorhanden sein, wie Abbildung 2 zeigt.

 Erfolgreiche Softwarebereitstellung per PowerShell.
Abbildung 2: Erfolgreiche Softwarebereitstellung per PowerShell.

Wesentlich effektiver ist es natürlich, den Erfolg der Installation ebenfalls über die PowerShell abzufragen, wie auf Abbildung 3 zu sehen.

Installationserfolg über die PowerShell überprüfen.
Abbildung 3: Installationserfolg über die PowerShell überprüfen.

Bei der nächsten anstehenden Softwarebereitstellung sollte man also durchaus auch einen Blick auf die PowerShell werfen. Verfügt man bereits über ein teuer eingekauftes Tool zum automatisierten Software-Deployment, dann sollte man es aber natürlich auch nutzen. Sollte es dabei im Bereitstellungsprozess Lücken geben, so kann man diese aber möglicherweise ja über die PowerShell schließen. Wer aber nur ab und an für einige wenige Maschinen Software bereitstellen muss, für den könnte Dank PowerShell ein kommerzielles Produkt tatsächlich überdimensioniert sein.

Weitere Artikel zur PowerShell:

Überblick und Funktionsweise der PowerShell DSC

Dateiserver über die Desired State Configuration bereitstellen

Paketverwaltung per PackageManagement

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im März 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Desktop-Management

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close