Office 365 Powershell Download/Setup/Installation

Die Windows PowerShell für Office 365 ist ein sehr leistungsfähiges Tool. Erweiterbar wie ein IBM Universal  Business Adapter und in etwa auch so komplex. Es gibt einen Punkt in der Lernkurve, an dem Anfänger häufig den Faden verlieren; dies passiert in der Regel nach dem Erlernen der einfachsten Cmdlets und bevor die Erstellung nützlicher Lösungen vollständig verstanden worden ist. Es ist eine einfache Sache „Get-Process“ auszuführen, aber eine andere eine Reihe von Cmdlets in eine Pipeline für einen Remotecomputer einzureihen, um eine Aktion remote auszuführen. Grade Office 365 ist beispielsweise nicht vollständig in die „Ausliefershell“ integriert und benötigt einige zusätzliche Module und die Initialisierung der Remote-Shell.

So gehts auf in die Office 365 Powershell

  1. Betriebssysteme unter Windows7/2008R2 brauchen WinRM2.0 mit der Powershell 2.0
  2. Download und Installation Microsoft Online Services Sign-in Assistant
  3. Download und Installation Azure Active Directory (AD) Module (x64, eine 32-bit-VErsion gibt es noch, wird aber nicht mehr supported)
  4. Optional: „SharePoint Online Module“ (Zur Sharepoint-Verwaltung)
  5. Optional: „Skype for Business Online Module“ (Zur Lync Skype for Business Verwaltung)

Verbindung zur Office 365 Powershell

$credential = get-credential
Import-Module MSOnline
Connect-MsolService -Credential $credential

Verbindung zur Skype for Business Powershell

Import-Module LyncOnlineConnector
$lyncSession = New-CsOnlineSession -Credential $credential
Import-PSSession $lyncSession

Verbindung zur Sharepoint Powershell

Import-Module Microsoft.Online.Sharepoint.PowerShell
Connect-SPOService -url https://contoso-admin.sharepoint.com -Credential $credential

Verbindung zur Exchange Powershell

$ExchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://outlook.office365.com/powershell-liveid/" -Credential $credential -Authentication "Basic" -AllowRedirection
Import-PSSession $ExchangeSession

Verbindung zu den Office 365 Onlinediensten via Poweshell-Function

function Connect-O365 {
<#
.Synopsis
 Connects powershell to Office 365
.DESCRIPTION
 Use this to connect powershell to Office 365. You will be prompted for credentials.
.EXAMPLE
 Connect-O365
#>
 Set-ExecutionPolicy RemoteSigned
 $Cred = Get-Credential
 $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
 Import-Module (Import-PSSession $Session -Allowclobber) -Global
 Connect-MsolService -Credential $Cred
}

(Danke Alex)

Externe Festplatte mit hartnäckligem Schreibschutz („Administrative Richtlinie“)

Ab und zu gibt es das Problem, dass unter Windows 7/Vista unter bestimmten Voraussetzungen plötzlich sämtlichen Schreibzugriff auf Festplatten blockiert sind. Meistens betrifft das externe Festplatten und USB Sticks aber auch manchmal neue interne Festplatten bzw neu angelegte Partitionen.

Schreibschutz entfernen geht nicht, da man über keine „ausreichenden Rechte verfügt“ (auch als Administrator nicht) und Rechte/Besitzer neu setzen geht nicht, da die Platte schreibgeschützt ist.

Lösung

Diskpart (als Administrator) ausführen, Datenträger auflisten:

DISKPART> list disk

  Datenträger ###  Status         Größe    Frei     Dyn  GPT
  ---------------  -------------  -------  -------  ---  ---
  Datenträger 0    Online          949 GB  1024 KB
  Datenträger 1    Online          861 GB  1024 KB

DISKPART>

Entsprechenden Datenträger auswählen:

DISKPART> select disk <Datenträgernummer> Beispiel: select disk 8

NTFS Schreibschutz entfernen:

DISKPART> attributes disk clear readonly

Mit ‚exit‘ Schliessen, fertig.

Windows Dienste schneller als „1 Minute“ neu starten

Problem

dienst-schneller-neu-startenEin Windows-Dienst crasht ab und zu mal und soll neu gestartet werden. Natürlich sucht der gute Administrator zuerst nach der Ursache und behebt diese, anstatt das Symptom zu bekämpfen. Leider gibt es ab und zu Ursachen die kaum zu beheben sind, z.B. das Überschreiten einer Uhrzeit oder ein Verbindungsabriss oder ähnliches.

Im GUI für die Windows-Dienste lässt sich aber nicht weniger als „1 Minute“ einstellen. Das ist zu lange. Kann man die Zeit verkürzen? Auf zum Beispiel 500msec?

Lösung

Das geht, kein Problem. Dafür die das Kommandozeilentool „sc“ verantwortlich.

sc failure  reset=30 actions=restart/500

„reset=“ gibt die Anzahl Sekunden an, nach deren Fehlerfreiem Ablauf der Zähler wieder zurückgesetzt wird. „actions=“ versteht die Parameter run, restart, und reboot. run führt ein Programm oder Script aus, restart startet den Dienst neu und reboot fährt den Server herunter und wieder herauf.

MSDN-Artikel: https://technet.microsoft.com/de-de/library/cc742019%28v=ws.10%29.aspx

Mehrere Tätigkeiten lassen sich dur den Slash auch kompinieren. Ein Beispiel:

sc <SERVERNAME> failure <DIENSTNAME> reset=60 command=c:\scripts\wecke-den-admin.cmd actions=restart/5000/run/10000/reboot/60000

Skype Installation „Fehler 2 – Datei nicht gefunden“

Beim Skype-Update oder bei einer Skype-Neuinstallation schliesst sich das Setup schon mal mit der nichtssagenden „Fehlermeldung 2 – Datei nicht gefunden“.

Die Lösug ist einfach: Das Sykpe-Setup starten und wärend des Installationsvorganges den Temp-Ordner (%appdata%\..\local\temp) überwachen. Dort wird eine „skype.msi“ entpackt. Diese einfach wegkopieren, denn das Setup löscht diese nach dem Fehlschlag wieder.

Tritt die Fehlermeldung auf, das Setup beenden und Skype mittels dieser MSI-Datei installieren – fertig.

Office 365 Offline Installation für Business, Business Premium und andere Pläne und Update auf Office 2016

Problem

Das Office 365 Offline Setup mit herunterladen („Bereitstellen„) und offline installieren funktioniert sehr gut, leider nur mit „Office ProPlus“, nicht jedoch mit dem „Office Business Retail“ das in den anderen (Business-) Plänen enthalten ist. Die Clientseitige Umstellung („Konto wechseln“) geht zwar immernoch schneller als neu herunterladen, aber die Fehlermeldung nervt doch.

Lösung

Mit einer kleinen Anpassung in der configuration.xml lässt sich auch das passende Produkt herunterladen. Es gibt für das „Product ID“ Element in der configuration.xml Datei neue gültige Bezeichner:

Office 365-plan

Produkt-ID

Office ProPlus
Office 365 Enterprise E3
Office 365 Enterprise E4
Office 365 (M-Plan)
O365ProPlusRetail
Office 365 Business
Office 365 Business Premium
O365BusinessRetail
Office Small Business Premium O365SmallBusPremRetail

Zudem gibt es auch neue IDs für das Office 365 Setup für die Einzelprodukte:

  • AccessRetail
  • ExcelRetail
  • HomeBusinessRetail
  • HomeStudentRetail
  • InfoPathRetail
  • ProfessionalRetail
  • O365HomePremRetail
  • O365SmallBusPremRetail
  • OneNoteRetail
  • OutlookRetail
  • PowerPointRetail
  • ProjectStdRetail
  • PublisherRetail
  • VisioStdRetail
  • WordRetail

Ein Beispiel für ein „Office 365 Business Premium Offline Setup“ sieht also so aus:

<Configuration>
  <Add SourcePath="\\SERVER\FREIGABE\PFAD\" OfficeClientEdition="32" >
    <Product ID="O365BusinessRetail">
      <Language ID="de-de" />
    </Product>
  </Add>
  <Updates Enabled="TRUE" UpdatePath="\\SERVER\FREIGABE\PFAD\" />
  <Display Level="None" AcceptEULA="TRUE" />
</Configuration>

Offline Update auf Office 2016

Das Upgrade vorhandener Installationsdateien lässt sich durch die neue Version des Deployment-Tools und erneutes ausführen von

setup.exe /download <pfad>\configuration.xml

durchführen. Die Clients übernehmen das danach selbstständig, von online oder erneutes ausführen von /configure.

[Update: Microsoft hat einen KB-Artikel nachgereicht, der die aktualisierten Product-IDs enthält]

[Update: Microsoft hat einen Technet-Artikel nachgereicht, der auch das Exclude-Element dokumentiert]