Schlagwort-Archiv: Powershell

Step by Step: Deploy Office 365 mit ConfigMgr und dem PowerShell App Deployment Toolkit

Veröffentlicht am 20.12.2017 um 11:11 Uhr von

Microsoft Office 365 wird in vielen Unternehmen immer wichtiger, deshalb möchte ich Euch heute in einer Step-by Step-Anleitung erklären, wie Ihr Office 365 zusammen mit dem ConfigMgr und dem PowerShell App Deplyoment Toolkit effektiv verteilen könnt.

Schritt 1: Download der notwendigen Ressourcen

Folgenden Dateien werden benötigt:

Außerdem benötigt Ihr Zugriff auf den Office 365 XML Editor.

Im ersten Schritt startet Ihr das Office 2016 Deployment Tool, akzeptiert die Lizenzbedingungen und erstellt einen neuen leeren Ordner. In diesem Ordner befinden sich eine „Setup.exe“ sowie eine „Configuration.xml“.

Öffnet in einem Browser den „Office 365 XML Editor“. Damit könnt Ihr schnell und einfach eine XML erstellen. In folgendem Beispiel wird Office 365 in Deutsch und Englisch heruntergeladen und der Monthly Release Channel genutzt.

Beispiel XML:

Anschließend solltet Ihr die XML mit dem Export-Button speichern, in download.xml umbenennen und in den „Office 365“-Ordner kopieren. Startet die Kommandozeile und navigiert zum „Office365“-Ordner. Der Download wird mit folgendem Befehl gestartet:

Der Befehl legt einen neuen Ordner mit dem Namen „Office“ an. Darin befinden sich im Anschluss die Installationsdateien.

Schritt 2: Konfiguration der Office Installation

Für die Konfiguration der Office-Installation kann die vorhandene configuration.xml anpasst. Im nachfolgenden Beispiel wird Office 365 in Englisch und Deutsch installiert. Außerdem wird es dem ConfigMgr erlaubt, das er das Office Paket updatet. Der OneDrive for Business Client wird nicht mit installiert und die Installation „Silent“ ausgeführt.

Ich persönlich verwende zusätzlich immer noch den Parameter „Version“ und gebe die Version an, die ich heruntergeladen habe mit an. Zum Testen könnt Ihr folgenden Befehl benutzen:

Außerdem wird noch eine XML für die Deinstallation benötigt. Diese sollte wie folgt aussehen:

Schritt 3: Konfigurieren des PowerShell App Deplyoment Toolkits

Entpackt zuerst das „PowerShell App Deplyoment Toolkit“ und kopiert de Ordner „Toolkit“. Gebt dann dem Ordner einen sprechenden Namen wie z.B. Office365_112017, damit Ihr wisst dass es sich um die Version aus dem November 2017 handelt.

In diesem Ordner findet man den Ordner Files, kopiert den Inhalt des „Office365“-Ordners hinein. Sowie die Offscrub.vbs-Files in den Ordner AppDeployToolkit.

Im Abschnitt Pre-installation fügt folgenden Zeilen ein:

Dieser Eintrag dient dazu das alle geöffneten Office-Programme geschlossen werden. Außerdem wird geprüft, ob genügend Festplattenplatz zur Verfügung steht. Die Anwender können die Installationsaufforderung dreimal verschieben.

In Abschnitt ## Show Progress Message (with the default message) fügt folgende Zeile ein. Diese Meldung wird Euren Usern während der Installation angezeigt.

Als nächstes kommt die Sektion <Perform Pre-Installation tasks here>:Fügt folgende Zeilen ein, damit ein ggf. vorhandene ältere Version von Microsoft Office deinstalliert wird.

Achtung: Mit dem Schalter „All“ werden wirklich alle Microsoft Office-Produkte – inklusive  Microsoft Visio und Microsoft Project – deinstalliert. Solltet Ihr also eines der beiden Produkte behalten wollen, verwendet besser den Schalter ProPlus.

Unter ## <Perform Installation tasks here> fügt Ihr die folgende Zeile ein.

Die Zeile Display a message at the end of the install kann auskommentieren. Anschließend widmen wir uns der Deinstallation, dazu kopiert einfach die folgende Zeilen:

Solltet Ihr das Erscheinungsbild noch etwas mehr anpassen wollen könnt Ihr die Datei AppDeployToolkitBanner.png im Ordner AppDeployToolkit einfach gegen Euer Firmenlogo austauschen.

Schritt 4: Erstellen der Application in der ConfigMgr Konsole

Nachdem alles erledigt ist, können wir uns ans anlegen der Application in der ConfigMgr Konsole machen. Dazu folgende Schritte ausführen:

  1. Öffnet die ConfigMgr Konsole und navigiert zu Software Library / Overview / Application Management / Applications
  2. Auf den Create Application Ribbon klicken
  3. Manually specify the application information auswählen und next klicken
  4. Als nächstes den Namen der Application angeben
  5. Im Application Catalog Step auf next klicken
  6. Im Deployment Types Tab auf Add klicken, im nächsten Fenster wählt Script Installer aus
  7. Unter General Information gebt den Namen eures Deployment Types an
  8. Im nächsten Step gebt unter Content location den UNC Pfad zum Office 365 Paket an, sowie unter Installation programm Deploy-Application.EXE Install und als Uninstall program        Deploy-Application.EXE Uninstall
  9. Die Detection Method sieht wie folgt aus:
    Setting Type: Registry , Hive: HKLM,
    Key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail – en-us
  10. Unter User Experience Install for system auswählen den Rest unverändert lassen
  11. Unter Requirments sowie Dependecies sind keine Einstellungen nötig.

Nachdem Eure Application angelegt wurde, kann sie auf die Distribution Points verteilt, sowie für die Testclients freigegeben werden

Schritt 5: Die Installation

Sobald die Application im Softwarecenter zu sehen ist, kann die Installation starten. Während der Installation sieht der Anwender alle Meldungen die wir in der Deploy-Application.ps1 festgelegt haben.

Sollten während der Installation Fehler auftreten ist es hilfreich, in der configure.xml den Display Level von None auf Full zusetzen um die Fehlermeldung angezeigt zu bekommen.

GeekSprech Podcast Folge 10 – Powershell

Veröffentlicht am 20.01.2017 um 10:00 Uhr von

Mit ausgerupfter Besetzung, aber inhaltlich nicht weniger interessant, ist die neueste Folge von unserem GeekSprech-Podcast online. In Zusammenarbeit mit Haiko Hertes, MVP für Cloud and Datacenter Management, behandelt Eric Berg das Thema Microsoft Powershell.

Im Detail sprechen die beiden über die Neuerungen in Powershell 5.0 und die Möglichkeiten von Desired State Configuration (DSC).

Die Shownotes zu dieser Folge findet Ihr wie immer auf der Homepage der Enterprise Mobility Community Deutschland unter diesem Link.

Weiterführende Links:

Powershell: Status Message Queries für Task Sequence Deployments erstellen

Veröffentlicht am 08.11.2016 um 21:30 Uhr von

Mit Status Message Queries bietet der Configuration Manager eine gute Möglichkeit die einzelnen Schritte spezifizierter Task-Sequence-Deployments in Echtzeit zu überwachen. Nickolaj Andersen hat dazu mal einen sehr guten Blog-Artikel geschrieben.

Wie auch Nickolaj in seinem Blog schreibt, sollte pro Task-Sequence-Deployment eine Status Message Query erstellt werden. Für die Query benötigen wir die DeploymentID des jeweiligen Task-Sequence-Deployments. Bei mehreren Task-Sequence-Deployments kann das Anlegen der Status Message Queries pro Deployment jedoch schnell aufwändig und fehleranfällig werden.

powershell-status-message-queries-fuer-task-sequence-deployments-erstellen-1 powershell-status-message-queries-fuer-task-sequence-deployments-erstellen-2Folgendes Powershell-Script legt pro Task-Sequence-Deployment eine Status Message Query an. Als Name der Status Message Query wird der Name der Zielsammlung, auf die das Task-Sequence-Deployment zeigt, verwendet.

Microsoft Configuration Manager Cmdlet Library 1604 Update re-released

Veröffentlicht am 16.06.2016 um 19:37 Uhr von

Aufgrund zahlreicher Issues hat Microsoft das letzte Update für die Microsoft Configuration Manager Cmdlet Library neu veröffentlicht.

Fixes:

  • Add/Set-CMGooglePlayDeploymentType and Add/SetCMIosDeploymentType not adding MAM details on Configuration Manager current branch v1511 and above
  • Add/Set-CMMsiDeploymentType not having option to configure InstallationBehaviorType
  • Add-CMCollectionToAdministrativeUser UserId parameter not recognized
  • Get/New/Remove/Set-CMDeviceVariable not working with pipelined objects
  • Move-CMObject and New/Set-CMSoftwareUpdateAutoDeploymentRule fixes
  • New-CMWindowsServicingPlan unable to set AvailableTime or SuccessPercentage
  • Remove-CMAutoDeploymentRuleDeployment missing Force parameter
  • Remove-CMIntuneSubscription not working
  • Set-CMConditionalAccessPolicy not recognizing Add/RemoveExcludedCollectionName/Id
  • Set-CMIntuneSubscriptionAppleMdmProperty and Set-CMIntuneSubscriptionWindowsPhoneProperty NullReferenceException failures

Download: System Center Configuration Manager Cmdlet Library 

System Center Configuration Manager Cmdlet Library aktualisiert

Veröffentlicht am 26.01.2016 um 07:24 Uhr von

Microsoft hat vor wenigen Stunden die System Center Configuration Manager Cmdlet Library aktualisiert. Das „Winter 2016“-genannte Update fügt den Support für den Current Branch (Version 1511 und Technical Preview 1512) hinzu und bringt neue Powershell-Cmdlets sowie einige Fehlerkorrekturen mit sich.

  • New cmdlets that simplify working with application deployment types.
  • New cmdlets that consolidate the “User” and “Device” variants of the collection cmdlets.
  • Changes to cmdlets:
    • Improved performance for cmdlets that utilize configuration items and applications.
    • Configuration item cmdlets (such as Set-CMConfigurationItem) now ensure that they are always using the latest revision of a configuration item.
    • Network Access Protection and out of band management (AMT) cmdlets are deprecated on Configuration Manager (version 1511) and higher.
    • The Query Result Maximum has been disabled by default.
  • Bug fixes and enhancements to specific cmdlets.

Besonders interessant ist die Zusammenfassung die Collection-Cmdlets. Ab sofort können sowohl User- als auch Device-Collections über ein *-CMCollection verwaltet werden. Ob es nun um eine User- oder Device-Collection handelt, wird über den Parameter „CollectionType“ festgelegt.

system-center-configuration-manager-cmdlet-library-aktualisiert

  • New-CMUserCollection/New-CMDeviceCollection → New-CMCollection
  • Export-CMUserCollection/Export-CMDeviceCollection → Export-CMCollection
  • Get-CMUserCollection/Get-CMDeviceCollection → Get-CMCollection
  • Import-CMUserCollection/Import-CMDeviceCollection → Import-CMCollection
  • Set-CMUserCollection/Set-CMDeviceCollection → Set-CMCollection
  • Remove-CMUserCollection/Remove-CMDeviceCollection → Remove-CMCollection

Die ursprünglichen Cmdlets können weiterhin benutzt werden.

Neue Powershell-cmdlets:

  • Add/Set-CMAndroidDeploymentType
  • Add/Set-CMAppv5xDeploymentType
  • Add/Set-CMAppvDeploymentType
  • Add/Set-CMGooglePlayDeploymentType
  • Add/Set-CMIosAppStoreDeploymentType
  • Add/Set-CMIosDeploymentType
  • Add/Set-CMMacDeploymentType
  • Add/Set-CMMobileMsiDeploymentType
  • Add/Set-CMMsiDeploymentType
  • Add/Set-CMNokiaDeploymentType
  • Add/Set-CMScriptDeploymentType
  • Add/Set-CMWebApplicationDeploymentType
  • Add/Set-CMWindowsAppxDeploymentType
  • Add/Set-CMWindowsMobileDeploymentType
  • Add/Set-CMWindowsPhoneDeploymentType
  • Add/Set-CMWindowsPhoneStoreDeploymentType
  • Add/Set-CMWindowsStoreDeploymentType

Download:

Weitere Links:

SCEP: Definition Updates automatisch mit Powershell herunterladen *Update*

Veröffentlicht am 12.08.2015 um 21:00 Uhr von

Der Microsoft System Center Endpoint Protection-Client (SCEP) stellt verschiedene Definition Update-Quellen zur Auswahl. Folgende Quellen werden dafür im Configuration Manager 2012 angeboten:

  • Von Configuration Manager verteilte Updates
  • Von WSUS verteile Updates
  • Von Microsoft Update verteilte Updates
  • Von Microsoft Malware Protection Center verteilte Updates
  • Updates von UNC-Dateifreigaben

scep_definitions_uncFür Updates von UNC-Dateifreigaben ist es notwendig, dass sich hinter der angegebenen UNC-Dateifreigabe die aktuellen Definition Updates befinden. Da Microsoft selbst keine Möglichkeit bietet, die Definition Updates dorthin automatisiert bereitzustellen, habe ich ein Powershell-Skript geschrieben, das regelmäßig – beispielsweise mit dem Task-Scheduler oder dem Microsoft System Center Orchestrator – aufgerufen werden kann und die aktuellen Definition Updates herunterlädt. Das Script kann hier heruntergeladen werden.

Download: SCEP – Download Definition Updates to UNC-Path with Powershell

Damit der Microsoft System Center Endpoint Protection-Client die Updates über die UNC-Freigabe des Servers herunterlädt, muss der UNC-Pfad über die Richtlinien für Antischadsoftware im ConfigMgr hinterlegt sein. Gleichzeitig muss „Updates von UNC-Dateifreigaben“ als Datenupdatequelle konfiguriert sein.

Wichtig für die UNC-Dateifreigabe:

  • Clientcomputer (automatisches Update) und Domänenbenutzer (manuelles Update) benötigen Leseberechtigungen auf dem UNC-Share.
  • Dateien für x64-basierte Computer müssen in einem Ordner namens x64 gespeichert werden. Dateien für x86-basierte Computer müssen in einem Ordner namens x86 gespeichert werden.
  • Die heruntergeladenen Dateien dürfen nicht umbenannt werden.

Weitere Informationen halten diese Artikel bereit:

Update 12. August 2015: Microsoft hat die Links zu den Full Definition Updates geändert (KB935934). Ich habe das Script entsprechend angepasst.