„Diese Kopie von Microsoft Office kann auf einem Computer, der die Terminaldienste ausführt, nicht verwendet werden.“ mit Office 365 ProPlus

Trotz korrekter Terminalserver-Installation kommt es seit Ende der Jahres 2018 unter Windows Server 2016 in einer RDS-Umgebung häufiger zu diesem Fehler beim Start der Office-Anwendungen:

Diese Kopie von Microsoft Office kann auf einem Computer, der die Terminaldienste ausführt, nicht verwendet werden. Damit Microsoft Office auf einem Computer, der die Terminaldienste ausführt, verwendet werden kann, müssen Sie eine Volumenlizenzedition von Office verwenden.
Diese Kopie von Microsoft Office kann auf einem Computer, der die Terminaldienste ausführt, nicht verwendet werden. Damit Microsoft Office auf einem Computer, der die Terminaldienste ausführt, verwendet werden kann, müssen Sie eine Volumenlizenzedition von Office verwenden.

Der Inhalt dieser Meldung ist mit Office ProPlus natürlich Unsinn und nur ein Überbleibsel aus vergangenen Tagen. Office ProPlus (oder auch „O365ProPlusRetail“) dürfen durchaus in RDS-Umgebungen genutzt werden.

Eigentlich sorgt bei der Installation der Klick-und-Los Variante („setup /configure“) der Eintrag „SharedComputerLicensing“ in der XML-Datei für die richtige Konfiguration; das scheint aber nicht immer so richtig zu klappen. Vor allem unter Office 2019 (das nur Office365 heißt) ist das der Fall – vermutlich weil sich der zugehörige Registry-Schlüssel geändert hat. Früher wohnte dieser in Office\<version>\ClickToRun, nun entfällt <version>.

„Richtige“ Bereitstellungsdatei

<Configuration>
  <Add OfficeClientEdition="32" Channel="Monthly">
    <Product ID="O365ProPlusRetail">
      <Language ID="de-de" />
    </Product>
  </Add>
<Updates Enabled="TRUE" Channel="Monthly" />
<Display Level="NONE" AcceptEULA="TRUE" />
<Property Name="AUTOACTIVATE" Value="1" />
<Property Name="SharedComputerLicensing" Value="1" />  <--_HIER____
</Configuration>

Lösung

Wenn das mal wieder nicht so recht geklappt zu haen scheint, kann man den notwendigen Registry-Eintrag jederzeiot von Hand hinzufügen und schon ist Office wieder Terminalserver-Fähig.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
   Name: SharedComputerLicensing
   Typ: REG_SZ ("Zeichenfolge")
   Inhalt: 1

Es ist kein reboot notwendig, nach einem Neustart der Anwendungen läuft Office ohne Fehler.

Office 365 Exchange Online Powershell unter Windows 10 Verbindung herstellen

Die Office 365 Exchange Online Powershell benötigt eigentlich keine Powershell Modul-Installation, weil zu Exchange nur eine Remote-Session hergestellt wird.

Anders sieht da aus, wenn man die MFA (Mehr-Faktor-Authentifizierung) eingeschaltet hat. Dazu unten mehr.

Exchange Online Powershell ohne MFA

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

Das erste Kommando fragt die Credentials ab und speichert diese in der Variable $credential, das zweite verwendet diese für die Verbindung und das dritte importiert die Remote-Sitzung.

Exchange Online Powershell mit 2FA (Mehr-Faktor Authentifizierung)

Hierfür muss man zuerst doch noch manuell ein Modul herunterladen, das „Exchange Online Remote PowerShell-Modul„. Man findet den Download für die Offline-Installation innerhalb seines Office 365 Portals in der EAC. Mann kann diese Spezial-Powershell aber auch direkt ohne Umwege herunterladen und starten; der Link dazu steht weiter unten.

Office 365 Portal > Exchange Administrator Center (EAC) > Hybrid > „Konfigurieren“ (‚Das Exchange Online-PowerShell-Modul unterstützt mehrstufige Authentifizierung.‘)

Hat man das Modul heruntergeladen und installiert, sollte man einmal sein WinRM-Konfiguration testen. Ein lauffähiges WinRM-System mit eingeschalteter Basic-Authentifizierung (Default) ist Voraussetzung.

WinRM-Konfiguration in der Powershell „als Administrator“ anschauen:

winrm get winrm/config/client/auth

Sollte da „Basic = false“ in der Ausgabe stehen, muss man zwingend Basic-Auth einschalten:

winrm set winrm/config/client/auth @{Basic="true"}

Dann kann man auch schon endlich fast eine Verbindung herstellen; dazu das „Microsoft Exchange Online Powershell Module“ im Startmenü öffnen. Dier hier ist der direkte Download-Link zur Exchange Shell:

https://cmdletpswmodule.blob.core.windows.net/exopsmodule/Microsoft.Online.CSE.PSModule.Client.application

In der neuen Exchange-Powershell tippt man dann:

Connect-EXOPSSession -UserPrincipalName <[email protected]>

Und schon stehen einem die altbekannten CMDlets wie Get-Mailbox, Get-DistributionGroup oder Get-MailboxPermission zur Verfügung.

Office 365 Powershell Zugänge unter Windows 10 (1809+)

Nachdem der letze Beitrag zum Thema Office 365 Powershell ja mittlerweile veraltet ist, hier die aktuelle Methode eine Verbindung zu Office 365 herzustellen.

„Heute“ nutzt man direkt die AzureAD Module die man via NuGet installiert und nicht mehr die MSOnline „Extra“ Shell.

Installation des AzureAD Module (Lizenzen, Office 365 Benutzer …)

  1. Öffnen der Powershell „Als Administrator“ und das Modul installieren:
PS C:\> Install-Module -Name AzureAD

Nicht vertrauenswürdiges Repository
Sie installieren die Module aus einem nicht vertrauenswürdigen Repository. Wenn Sie diesem Repository vertrauen, ändern
 Sie dessen InstallationPolicy-Wert, indem Sie das Set-PSRepository-Cmdlet ausführen. Möchten Sie die Module von
'PSGallery' wirklich installieren?
[J] Ja  [A] Ja, alle  [N] Nein  [K] Nein, keine  [H] Anhalten  [?] Hilfe (Standard ist "N"): j
PS C:\>

2. Herstellen der Verbindung zum AzureAD (Office 365)

PS C:\> Connect-AzureAD

Account                     Environment TenantId                             TenantDomain    AccountType
-------                     ----------- --------                             ------------    -----------
<UPN>> AzureCloud  affeaffe-b00b54e0e-a0c4-a5b16ca62f5b <DOMAIN> User
PS C:\>

… fertig. Und schon kann man mit den AzureAD-CMDlets wie Get-AzureADUser, Get-AzureADUserLicenseDetail und allen anderen loslegen.

Eine Liste aller CMDlets gibt es mit:

Get-Command -Module AzureAD

„Clutter“ in Office 365 (für alle Benutzer) ein- oder ausschalten

Clutter analysiert in Office 365 Postfächern, wie E-Mails verarbeitet werden und verschiebt selbstständig „unwichtiges“ aus dem Ordner Posteingang in den Ordner „Clutter“. E-Mail-Gewohnheiten und Reaktionen auf E-Mails werden pro Benutzer analysiert und gespeichert. So wird der Posteingang etwas leerer und wichtige Nachrichten sollen so besser auffallen. Nur E-Mails mit hoher Priorität (die nicht im Junkmail-Ordner gelandet sind) und E-Mails die der Clutter-Algorithmus „interessant“ findet, werden in den Posteingang geleitet. Somit ist „Clutter“ der Posteingang zweiter Reihe. Er enthält E-Mails, die für gewöhnlich uninteressant sind und ignoriert werden.

Das iost ja ganz nett, aber oft auch Super-Irritierend.

Wie funktioniert Clutter denn tatsächlich?

Clutter verwendet eine Mischung aus Meta-Analysen von Verhaltensmustern und Textbasierten Analysen des Inhalts der E-Mail, um eine Wahrscheinlichkeit zu bestimmen, wie mit der E-Mail am warscheinlichsten umgegangen wird. Erst wenn die Wahrscheinlichkeit für ’schnelles löschen‘ oder ’schnelles verschieben‘ hoch ist, wird die Nachricht in Clutter verschoben.

Dabei verwendet Clutter die Funktion „Office Graph“. Zusätzliche Kosten oder Einstellungen sind nicht notwendig. Es soll auch einfach weiterhin ganz normal Outlook verwendet werden, um Clutter nach und nach zu trainieren. Trainingsdaten fallen auch nur bei aktiviertem Clutter an.

Wenn Clutter eine E-Mail falsch verschoben hat, kann die Nachricht winfach in den Posteingang oder einen anderen Ordner verschoben werden. Clutter verschiebt niemals E-Mails, die manuell bewegt wurden. Im OWA und Outlook können E-Mails mit einem Rechtsklick zudem als Clutter markiert werden.

Clutter an der Powershell aktivieren/deaktivieren

Set-Clutter -Enable $false

Oder das ganze im Bulk „auf die schnelle“ erledigen:

PS C:\> Set-ExecutionPolicy RemoteSigned
PS C:\> $cred = Get-Credential
PS C:\> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection
PS C:\> Import-PSSession $Session
PS C:\> Get-Mailbox | Set-Clutter -Enable $true

Office 365 Aktivierungsdialog verschwindet & Outlook Postfach lässt sich nicht einrichten

Problem:

Das frisch installierte Office 365 Paket lässt sich nicht aktivieren. Nach Eingabe des Benutzernamens/E-Mailadresse verschwindet der Aktivierungsassistent. In einigen fällen bleibt die entsprechende Office Anwendung hängen. Mit einem anderen Office 365 Benutzer klappt die Aktivierung.

Auch im Outlook lässt sich das Postfach des Benutzers nicht einrichten. Weder über den Outlook-Ersteinrichtungsassistenten noch über den „Profil hinzufügen“-Assistenten der Systemsteuerung.

Lösung:

Einen DWORD-Wert EnableADAL mit Wert 0 in folgendem Registry-Key anlegen:

HKCU\Software\Microsoft\Office\1x.0\Common\Identity