ConfigMgr: VLC 2.1.5 bereitstellen

Im letzten Post habe ich gezeigt, wie mit meinen Powershell Scripten ein einfaches MSI File bereitgestellt werden kann. Jetzt verteilen wir eine EXE, die mit NSIS paketiert ist.

Die VLC Version kann unter http://www.videolan.org/vlc/download-windows.html heruntergeladen werden und wird gemeinsam mit der appdefinition.xml in einen neuen Ordner abgelegt.
Leider sind im Header der Datei keine auswertbaren Informationen hinterlegt, daher werden die Angaben manuell im Block info eingetragen.

Continue reading

Posted in automateAppDeployment, Configuration Manager, Deutsch, Hyper-V, System Center, System Center 2012 | Tagged , , , | 1 Comment

ConfigMgr: 7-zip 9.38 verteilen

Um sich an das automateAppDeployment Toolkit heranzutasten, starte ich mit einer sehr einfachen Verteilung: Ein einzelnes MSI Files, das in den Eigenschaften vollständig beschrieben ist. Dazu verwende ich die aktuelle Beta 9.38 von 7-zip (http://www.7-zip.org).

Da alle Eigenschaften vorhanden sind, besteht die im vorhergehenden Post erwähnte appdefinition.xml Datei hauptsächlich aus dem Filenamen:

Continue reading

Posted in automateAppDeployment, Configuration Manager, Deutsch, System Center, System Center 2012 | Tagged , | 1 Comment

ConfigMgr: Automatisierte Softwarepaketierung und -bereitstellung

Gerade bei Standardsoftware ist die Paketierung und -bereitstellung sehr ermüdend und zeitraubend. Es gibt – wie in vorhergehenden Beiträgen bereits erwähnt –  gute Toolkits wie das PSAppDeployToolkit, um sich die Arbeit etwas zu vereinfachen. Dort herum habe ich ein paar Powershell Script als Proof of Concept gestrickt, die die Integration in den ConfigMgr vereinfachen sollen.

Das Script übernimmt folgende Funktionen:

  • Kopieren des PSAppDeployToolkits in einen neuen Ordner nach dem Schema “Hersteller\Softwarename”
  • Kopieren der Quelldateien in den “Files” Unterordner
  • Eintragen der Headerangaben ui der Software in deploy-application.ps1
  • Einfügen der korrekten Installations- und Deinstallationsbefehle in die Deploy-application.ps1
  • Erstellen eines Ordners im Devicebereich mit dem Herstellernamen
  • Erstellen einer Collection mit dem Softwarename und der Version
  • Erstellen eines Ordners im Applicationbereichs mit dem Herstellernamen
  • Erstellen einer Anwendung mit den Softwareangaben
  • Hinzufügen eines Deployment-Types zu der Anwendung
  • Eintragen des Installations- und Deinstallationsbefehlt in den Deployment-Type
  • Hinterlegen der korrekten Detectionmethode zu der Anwendung
  • Verteilen der Anwendung an eine definierten Distributionpoint Gruppe
  • Bereitstellen der Anwendung an die oben angelegte Collection

Dadurch sind alle wesentlichen Schritte für eine Verteilung abgedeckt. Aktuell werden noch keine Abhängigkeiten (Supersedence) zwischen verschiedenen Softwareversionen abgebildet.

Natürlich können die Scripte dies nicht ohne Basisinformationen durchführen. Daher existiert dazu eine appdefinition.xml Datei, in der die notwendigen Informationen hinterlegt sind.

Ich habe dabei versucht, alle Informationen, die automatisch ausgelesen werden können, nicht in der Datei zu hinterlegen. So wird bei einem MSI File dieses ausgelesen und daraus der Hersteller, der Softwarename und die Versionsnummer ermittelt. Genauso wird dabei der Productcode für die Detectionmethode ermittelt.

Es handelt sich bei diesen Scripten um ALPHA-Code, d.h. ich warne davor, die Scripte ohne ausführliche Tests in einer produktiven Umgebung einzusetzen!

Verwendung für die Mutigen:

  1. Auspacken des angehängten Zip-Files in einem Ordner auf dem Siteserver
  2. Auspacken einer aktuellen Version des PSAppDeployment Toolkits in einen separaten Ordner
  3. Anpassen der Konstanten in der main.ps1 Datei an die eigenen Sitenamen und Ordnerstrukturen
  4. eine passende appdefinition.xml Datei aus einem der nachfolgenden Posts herunterladen und zusammen mit den Quelldateien in einem extra Quellordner ablegen
  5. Ausführen der main.ps1 in einer administrativen Powershell mit dem einzigen Parameter appDefinition:  “.\main.ps1 -appDefinition .\IrfanViewPlugins\appdefinition.xml”
automateAppDeployment (Version 0.4) (2333 downloads )
Posted in automateAppDeployment, Configuration Manager, Deutsch, System Center, System Center 2012 | Tagged , , | 2 Comments

ConfigMgr: Applikationserstellung mit Powershell

Möchte man per Powershell neue Applikationen im ConfigMgr erstellen, so ist dies mittels New-C;Mpplication und Add-CMDeploymentType relativ einfach machbar. Der passende TechNet Artikel (http://technet.microsoft.com/en-us/library/jj870953%28v=sc.20%29.aspx) listet alle verfügbaren Parameter auf. Microsoft hat leider versucht, mit einem Powershell Kommando alle möglichen Deployment Types abzudecken. Gerade im Bereich Scripted Installed (Manual Deployment Type) ist korrekte Zusammenstellung schwierig.

Nachfolgend wird daher ein Beispiel für eine Verteilung einer Anwendung (in diesem Fall aus dem Powershell App Deployment Toolkit), die im Hintergrund ein MSI File installiert. Die Anwendungserkennung soll auf Basis des MSI Produktcodes und der entsprechenden Version erfolgen. Es ist nach meinen Recherchen nicht möglich, per Powershell die eingebauten Detection-Methoden (MSI, File, Directory oder Registry-Werte) zu verwenden. Daher muss diese Funktion mittels einer Powershell Zeile nachgebaut werden.

Zuerst wird eine neue Application erstellt:

Continue reading

Posted in Configuration Manager, Deutsch, Powershell, System Center, System Center 2012 | Tagged , , , , | 3 Comments

ConfigMgr: Powershell Script

Generell baue ich eine Configuration Manager Umgebung so auf, dass ich pro zu verteilender Software eine eigene Collection einrichte. Diese wird unterhalb eines Ordner _Software und darunter in einem Ordner mit dem Namen des Herstellers abgelegt. In diese Device Collection kommen dann die Clients, die die Software erhalten sollen.

So erhält man die maximale Flexibilität, auch wenn man am Anfang wahrscheinlich das meiste an die gleiche Gruppe von Clients verteilt.

Um diesen Ablauf zu vereinfachen, habe ich ein kleines Powershell Script geschrieben, dass die Ordner und die Collection entsprechend anlegt.

Der Aufruf erfolgt mittels:

Continue reading

Posted in Configuration Manager, Deutsch, Powershell, System Center, System Center 2012 | Tagged , | Leave a comment