Installiertes Office einem anderen Office 365 Konto zuweisen

Veröffentlicht Veröffentlicht in Computer

Mal wieder ein Posting der Sorte „Jedesmal muß ich das wieder suchen…„:

Auf einem Rechner ist Office (aus Office 365) installiert. Dies wird auf der Office 365 Website beim entsprechenden Benutzerkonto auch sauber unter „Office-Installationen“ angezeigt. Jetzt verläßt dieser Mitarbeiter das Unternehmen, weshalb auch sein Office 365 Benutzerkonto gelöscht werden soll. Dadurch würde auch (nach einer Graceperiod von 30 Tagen) das auf dem Rechner installierte Office nicht mehr laufen.

Die Aufgabe war jetzt das auf dem Rechner installierte Office einem anderen/neuem Office 365 Benutzerkonto zuzuweisen. Dies ist zwar durch eine komplette Deinstallation/Neuinstallation von Office auf dem Rechner möglich, aber dies soll wegen des hohen Zeitaufwands vermieden werden.

In einem Blogeintrag habe ich eine gute Beschreibung gefunden wie dies durchzuführen ist:

    • Zuerst auf der Office 365 Website in dem alten Benutzerkonto die Office-Installation „deaktivieren“
    • Dann auf dem Rechner eine Eingabeaufforderung mit Administratorrechten öffnen und in das Office-Installationsverzeichnis wechseln. Aktuell wäre das üblicherweise
      cd "c:\Program Files (x86)\Microsoft Office\Office16"
    • Dort kann man sich dann mit dem Befehl
      cscript.exe ospp.vbs /dstatus

      die letzten 5 Zeichen des aktuell verwendeten Office Product Keys anzeigen lassen. Es werden einige Zeilen Text ausgegeben, darunter „Last 5 characters of installed product key: XXXXX

    • Jetzt kann man mit (XXXXX durch die fünf vom ersten Befehl ausgegebenen Buchstaben ersetzen)
      cscript.exe ospp.vbs /unpkey:XXXXX

      den Product Key von der Office Installation entfernen. Die Eingabeaufforderung kann dann wieder geschlossen werden.

    • Anschließend sollte man zur Sicherheit noch in der Systemsteuerung unter Anmeldeinformationsverwaltung -> Windows-Anmeldeinformationen alle Einträge löschen die mit Office zu tun haben und den Rechner neu starten.
    • Wenn man dann ein Office-Programm (z.B. Word) startet, ist das Verhalten identisch wie nach einer Neuinstallation: Man wird nach einem Office 365 Benutzerkonto gefragt dem dieses Office zugewiesen werden soll.

Versand von E-Mails von einem Device via Office 365

Veröffentlicht Veröffentlicht in Computer

Da ich jedesmal wieder suchen muß wie es im Detail funktioniert hier eine Zusammenstellung der Infos die erforderlich sind um von einem Device (Scanner, Router, NAS, …) eine E-Mail über Office 365 zu versenden. Die drei möglichen Varianten werden zwar in einem Microsoft-Artikel ausführlich beschrieben, allerdings möchte ich dass diese E-Mails von einem klar zugeordneten Absender kommen, weshalb noch ein paar mehr Schritte erforderlich sind.

Zuallererst muß man wissen, ob man über eine feste oder eine dynamische IP-Adresse mit dem Internet verbunden ist.

Feste IP-Adresse

  • Die IP-Adresse muß im SPF-Record auf dem DNS eingetragen sein, sonst landen die so versendeten E-Mails im Spamordner des Empfängers
  • In Office 365 eine „Gruppe“ anlegen
    • Name „Devicename“ und E-Mailadresse „devicename@firma.de“
    • Im „Exchange Admin Center“ in den Eigenschaften dieser Gruppe
      • Unter „Zustellungsverwaltung“ die Gruppe selbst (vorher sichern) als einzigen in die Liste eintragen. Somit kann die Gruppe nicht für Spam mißbraucht werden
      • Unter „Allgemein“ die Option „Diese Gruppe in Adresslisten ausblenden“ aktivieren
    • Es kann bis zu einer Stunde dauern bis alle Einstellungen der Gruppe wirksam werden!
  • Auf dem Device müßen folgende Einstellungen getroffen werden:
    • SMTP-Server: Den MX der Domain (üblicherweise firma-de.mail.protection.outlook.com) mit Port 25
    • TLS/StartTLS aktivieren. Manchmal wird hier von SSL gesprochen und es funktioniert, aber das ist dann wohl unsauber beschriftet.
    • Als Absenderadresse die E-Mailadresse der Office 365 Gruppe verwenden
  • Mit dieser Methode kann man nur „interne“ Empfänger (also Adressen der eigenen Maildomain) erreichen. Wenn das Gerät E-Mails an externe Adressen schicken soll, muß man die andere Methode („Dynamische IP-Adresse“) mit Authentifizierung verwenden.

Dynamische IP-Adresse

  • In Office 365 eine „Gruppe“ anlegen
    • Name „Devicename“ und E-Mailadresse „devicename@firma.de“
    • Im „Exchange Admin Center“ in den Eigenschaften dieser Gruppe
      • Unter „Gruppendelegierung“ dem Benutzer der auf dem Device für die Authentifizierung verwendet werden wird „Senden als“ Rechte geben.
      • Unter „Zustellungsverwaltung“ diesen Benutzer als einzigen in die Liste eintragen. Somit kann die Gruppe nicht für Spam mißbraucht werden
      • Unter „Allgemein“ die Option „Diese Gruppe in Adresslisten ausblenden“ aktivieren
    • Es kann bis zu einer Stunde dauern bis alle Einstellungen der Gruppe wirksam werden!
  • Auf dem Device müßen folgende Einstellungen getroffen werden:
    • SMTP-Server: smtp.office365.com mit Port 587 (25 geht auch)
    • Authentifizierung aktivieren. Den Benutzer verwenden der auch in der Office 365 Gruppe verwendet wurde
    • TLS/StartTLS aktivieren. Manchmal wird hier von SSL gesprochen und es funktioniert, aber das ist dann wohl unsauber beschriftet.
    • Als Absenderadresse die E-Mailadresse der Office 365 Gruppe verwenden

In beiden Varianten kann man den/die Empfänger entweder direkt auf dem Device eintragen oder dort einfach die Office 365 Gruppe als Empfänger festlegen und die eigentlichen Empfänger auf Office 365 der Gruppe als Mitglieder hinzufügen.

Fehler „E-Mail-Adressen müssen eindeutig sein…“ in Office 365

Veröffentlicht Veröffentlicht in Computer

Für einen Kunden habe ich zwei Domänen seinem Office 365 Konto hinzugefügt: firma.de und firma.cn. In einem ersten Schritt habe ich ohne Probleme ein ganz normales Postfach mit der Adresse mitarbeiter@firma.de angelegt. In einem zweiten Schritt wollte ich ein „Freigegebenes Postfach“ mit der Adresse mitarbeiter@firma.cn anlegen. Ein freigegebenes Postfach deshalb, weil der Mitarbeiter auch mit der zweiten Adresse als Absender E-Mails verschicken können soll.

Zuerst habe ich das auf der Office 365 „Start“ Seite versucht: Links in der Navigation auf Gruppen->Freigegebene Postfächer und dann auf den Button „Postfach hinzufügen“ geklickt, Name und gewünschte E-Mailadresse eingetippt und bestätigt. Es dauert einen kleinen Moment, dann erscheint die Fehlermeldung „E-Mail-Adressen müssen eindeutig sein, und diese wird bereits von mitarbeiter verwendet„. Nein, wird sie nicht! Ich habe noch keine einzige Adresse in der Domäne firma.cn vergeben!

Zweiter Versuch, diesmal im „Exchange Admin Center“: In der Spalte „Empfänger“ auf „Freigaben“ und dann auf das „+“ oberhalb der Liste geklickt. Name und gewünschte E-Mailadresse eingetippt und mitarbeiter@firma.de unter „Benutzer“ hinzugefügt und bestätigt. Auch hier dauert es wieder einen kleinen Moment, dann erscheint die Fehlermeldung „Die Proxyadresse „SMTP:mitarbeiter@firma.de“ wird bereits als Proxyadresse oder vom LegacyExchangeDN verwendet. Wählen Sie eine andere Proxyadresse aus„. Wieso mitarbeiter@firma.de? Ich versuche gerade mitarbeiter@firma.cn anzulegen!

Nach einiger Recherche bin ich auf den Grund gestoßen: Auf der Office 365 „Start“ Seite unter Setup->Domänen ist immer eine der dem Office 365 Konto hinzugefügten Domänen als „Standard“ festgelegt. Wenn ich jetzt versuche ein freigegebenes Postfach mit einer E-Mailadresse aus einer der anderen (nicht-Standard) Domänen anzulegen, wird diesem automatisch eine zusätzliche E-Mailadresse („Proxyadresse“) aus der Standard-Domäne hinzugefügt.

In diesem Fall ist firma.de die Standard-Domäne. Ich wollte ein freigegebenes Postfach mit der Adresse mitarbeiter@firma.cn anlegen, weshalb er diesem automatisch die Proxyadresse mitarbeiter@firma.de hinzufügen wollte. Die gibt es aber schon!

Die Lösung ist ganz einfach: Temporär die gewünschte Domäne als Standard-Domäne festlegen (dazu unter Setup->Domänen die gewünschte Domäne anklicken und dann oben auf den Button „Als Standard festlegen“ klicken), das freigegebene Postfach anlegen und die Standard-Domäne anschließend wieder auf die gewünschte Domäne zurückändern.

Umstellen von „verzögertem“ auf „aktuellen“ Kanal in Office 365

Veröffentlicht Veröffentlicht in Computer

Wenn man bei Office 365 ein Abo hat das ein lokal installiertes Office beinhaltet, bekommt man in der Standardeinstellung immer eine 4 Monate alte und nicht die aktuelle Version von Office installiert.

Um dies zu ändern muß man im Office 365 Admin Center unter Einstellungen -> Dienste und Add-Ins -> Einstellungen für Office-Softwaredownloads von „Alle 4 Monate (verzögerter Kanal)“ auf „Monatlich (aktueller Kanal)“ umschalten.

Diese wirkt sich allerdings nur auf neue Installationen aus. Um vorhandene Installationen in den aktuellen Kanal zu bekommen müssen am Client ein paar Registry-Änderungen durchgeführt werden, die man am einfachsten von einem „Microsoft EasyFix“ durchführen läßt. Sofort nach dem Abschluß des EasyFix wird automatisch Office-Update gestartet und auf die aktuelle Office Version aktualisiert.

Fehler bei E-Mail aktivierten öffentlichen Ordnern in Office 365

Veröffentlicht Veröffentlicht in Computer

Man erzeugt in der Web-Admin-Oberfläche von Office 365 einen neuen öffentlichen Ordner, E-Mail aktiviert ihn, gibt ihm eine E-Mailadresse, achtet darauf, dass in den Eigenschaften des neuen Ordners unter „Nachrichtenflusseinstellungen“ bei „Nachrichten annehmen von“ die Option „Allen Absendern“ gewählt ist und weiter unten „Authentifizierung aller Absender anfordern“ nicht aktivert ist. So wie man das von den (Verteiler-) Gruppen in Office 365 gewohnt ist.

Man schickt eine Testmail an den neuen Ordner und bekommt sie mit dem Fehler „550 5.4.1 Recipient address rejected: Access denied“ zurück.

Eine Google-Suche bringt schnell die Info, dass man mit Outlook in den Eigenschaften des neuen öffentlichen Ordners unter Berechtigungen dem Benutzer „Anonym“ die Berechtigung „Elemente erstellen“ geben muß, sonst kann er von externen Absendern nicht erreicht werden. Macht Sinn, ändert nur leider nichts an obigem Verhalten.

Nach einiger Suche bin ich dann auf einen Blogeintrag gestoßen, der die Lösung beschreibt: Man muß in der Office 365 Web-Admin-Oberfläche im „Exchange Admin Center“ unter Nachrichtenfluss/Akzeptierte Domänen in den Eigenschaften der betroffenen Domäne den Wert bei „Diese akzeptierte Domäne ist“ von „Autorativ“ auf „Internes Relay“ umstellen. Nur dann sind öffentliche Ordner per E-Mail erreichbar. Beim Bestätigen dieser Änderung kommt noch eine Warnung weil kein ausgehender Connector vorhanden ist, aber da es ja nur um die Erreichbarkeit von öffentlichen Ordnern geht ist dies kein Problem.

Nach dieser Änderung sind die öffentlichen Ordner sofort ganz normal per E-Mail erreichbar.

Kennwortablauf in Office 365

Veröffentlicht Veröffentlicht in Computer

Defaulteinstellung bei Office 365 ist, dass Kennwörter nach 90 Tagen ablaufen und dann bei der nächsten Anmeldung geändert werden müssen. So ist das auch bei unserem Testzugang, der aus „Plan E3“ Lizenzen (Mittelsändische und große Unternehmen) besteht. Obwohl ich nirgands eine Aussage dazu gefunden habe, scheint das nicht für „Plan P1“ Lizenzen (Kleine Unternehmen) zu gelten, denn bei einem Kunden mit ensprechenden Lizenzen steht das Feld PasswordNeverExpires (s.u.) standardmäßig auf „$True“, die Kennwörter laufen dort also nie ab.

Um dieses Verhalten zu ändern, muß man einen Parameter per Windows PowerShell ändern. Dazu muss man sich aber nicht wie von mir in einem anderen Posting beschrieben per PowerShell mit „outlook.com“ verbinden, sondern ein Office 365 cmdlet“ verwenden. Um dies tun zu können, muss man zuerst wie hier beschrieben den „Microsoft Online Services Sign-In Assistant“ und dann das „Microsoft Online Services Module for Windows PowerShell“ installieren.

Nach der Installation PowerShell über das Startmenü mit dem Befehl „Microsoft Online Services Module for Windows PowerShell“ öffnen und wie hier beschrieben mit den folgenden beiden Befehlen in sämtlichen Konten das Feld PasswordNeverExpires auf $True setzen:

Connect-MsolService
Get-MSOLUser | Set-MsolUser -PasswordNeverExpires $true

Mit dem folgenden Befehl kann man anschließend überprüfen, ob die Konfiguration geklappt hat (bzw. vorher nachsehen, ob überhaupt etwas getan werden muß).

Get-MSOLUser | Select UserPrincipalName, PasswordNeverExpires

Kontakte aus Apple Adressbuch als „externe Kontakte“ in Office 365 übernehmen

Veröffentlicht Veröffentlicht in Computer

Ziel der im Folgenden beschriebenen Aktion ist es, ein für alle User readonly zugängliches globales Firmenadressbuch in Microsoft Office 365 zu erzeugen, wenn beim Client ein Mac mit den mitgelieferten Programmen Mail, Adressbuch und iCal (und nicht Entourage 2008 WSE oder Outlook 2011) verwendet werden soll. Die für dieses globale Firmenadressbuch zu verwendenden Kontakte liegen lokal auf einem Mac im Programm Adressbuch vor.

Das Firmenadressbuch soll in Office 365 mit den „externen Kontakten“ realisiert werden. Die Option einfach einen zusätzlichen User in Office 365 anzulegen und dessen Kontakte als Firmenadressbuch zu verwenden wurde verworfen. Dieser zusätzliche User würde eine kostenpflichtige Office 365 Lizenz verbrauchen und hätte auf jedem Client als zusätzlicher User eingerichtet werden müssen. Dieser aufwändige und fehlerträchtige Konfiguration sollte vermieden werden. Zusätzlich hätte bei dieser Realisierung jeder User volle Schreibrechte auf dem Firmenadressbuch, was nicht gewünscht war.

Zuerst müssen die Kontakte exportiert werden. Dazu stellt man im Programm Adressbuch vorab über „Adressbuch – Einstellungen – vCard“ das vCard-Format auf „2.1“ und die vCard 2.1-Codierung auf „Westeuropäisch (Windows Latin 1)“ ein und exportiert dann mit „Ablage – Exportieren – vCard exportieren“ die gewünschten Kontakte in eine *.vcf Datei.

Diese *.vcf Datei kann dann online auf der Website http://labs.brotherli.ch/vcfconvert/ in eine *.csv Datei konvertiert werden. Dazu auf der Website zuerst die zu konvertierende *.vcf Datei und dann die Optionen „Format: CSV Comma“, „Add header line“ und „Encoding: Windows Latin-1 (ISO-8859-1)“ wählen.

Damit in Office 365 die Umlaute und Sonderzeichen stimmen, muß vor dem Import die Kodierung der so erzeugten *.csv Datei in „UTF-8“ geändert werden. Ich habe dazu den hervorragenden kostenfreien Texteditor TextWrangler (auch im App Store verfügbar) verwendet: In TextWrangler zuerst die Datei über „File – Open“ öffnen (dabei im Öffnen-Dialog „Read as: Western (Windows Latin 1)“ auswählen) und dann über „File – Save As“ wieder abspeichern (dabei im Sichern-Dialog „Encoding: Unicode (UTF-8)“ auswählen). Bei dieser Gelegenheit sollte man die Spaltenbeschriftungen in der ersten Zeile der Datei so bearbeiten dass kein Leerzeichen in den einzelnen Spaltenbeschriftungen mehr vorkommt.

Die Datei wäre jetzt zum Importieren bereit, nur leider gibt es in Office 365 keine Möglichkeit „externe Kontakte“ zu importieren. Ein solcher Import ist nur in Windows mit PowerShell möglich.

Hierzu muß zuerst wie auf der Seite Install and Configure Windows PowerShell beschrieben sichergestellt werden, das Windows PowerShell im erforderlichen Umfang installiert und richtig  konfiguriert ist. Unter Windows 7 sollte das der Fall sein, unter XP und Vista müssen die auf der Website beschriebenen Schritte durchgeführt werden.

Anschließend muß man wie auf der Seite Connect Windows PowerShell to the Service beschrieben mit PowerShell eine Verbindung zu Office 365 aufbauen:

$LiveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange
  -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred
  -Authentication Basic -AllowRedirection
Import-PSSession $Session

Der eigentliche Import (wie in dem Forumsbeitrag Bulk-create external contacts in Exchange Online beschrieben) geht in zwei Schritten vor sich: zuerst werden in einem ersten Import die neuen externen Kontakte erzeugt. Dabei werden nur die Felder DisplayName, ExternalEmailAddress, FirstName und LastName importiert. Dieses Felder dürfen nirgends leer sein, sonst bricht der Import ab.

Import-Csv .\ImportDatei.csv|%{New-MailContact -Name $_.Name
  -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress
  -FirstName $_.FirstName -LastName $_.LastName}

Dabei sind die Bezeichnungen mit „-“ am Beginn (wie „-Name“) die Feldbezeichnungen in Office 365 und die mit „$_.“ am Beginn (wie „$_.Name“) die entsprechenden Spaltenbeschriftungen in der zu importierenden Datei. Bei der Eingabe sollte man das „|“ Zeichen nach dem Namen der zu importierenden Datei nicht übersehen! Wenn dieser Import erfolgreich durchgelaufen ist, existieren die externen Kontakte in Office 365, was dort in OWA überprüfen kann.

In einem zweiten Import müssen jetzt diesen existierenden externen Kontakten die fehlenden Informationen hinzugefügt werden. Angeblich kann man alle fehlenden Felder auf ein Mal importieren, aber das hat bei mir nicht geklappt. Es werden viele gelbe Warnzeilen im PowerShell-Fenster angezeigt und die vorhandenen externen Kontakte nicht verändert. Ich habe das so verstanden, dass die gelbe Warnung dann angezeigt (und der aktuelle externe Kontakt nicht verändert) wird, wenn eines der zu importierenden Felder im aktuellen Import-Datensatz leer ist. Ich habe die Felder deshalb einzeln importiert. Dann werden auch gelbe Warnzeilen für jeden Import-Datensatz angezeigt in dem das zu importierende Feld leer ist, aber das in dem Fall dann OK.

$Contacts = Import-CSV .\ImportDatei.csv
$Contacts | ForEach {Set-Contact $_.Name -StreetAddress $_.StreetAddress}
$Contacts | ForEach {Set-Contact $_.Name -City $_.City}
$Contacts | ForEach {Set-Contact $_.Name -PostalCode $_.PostalCode}
$Contacts | ForEach {Set-Contact $_.Name -Phone $_.Phone}
$Contacts | ForEach {Set-Contact $_.Name -MobilePhone $_.MobilePhone}
$Contacts | ForEach {Set-Contact $_.Name -Company $_.Company}
$Contacts | ForEach {Set-Contact $_.Name -Title $_.Title}
$Contacts | ForEach {Set-Contact $_.Name -Department $_.Department}
$Contacts | ForEach {Set-Contact $_.Name -Fax $_.Fax}
$Contacts | ForEach {Set-Contact $_.Name -Notes $_.Notes}
$Contacts | ForEach {Set-Contact $_.Name -Country $_.Country}

Falls man im Rahmen des Imports auf einen Fehler in den zu importierenden Daten stößt und diesen in der Importdaten-Datei korrigiert, muß man diese mit „$Contacts = Import-CSV .\ImportDatei.csv“ neu laden, bevor man dem Import erneut versucht.

Wenn der Import erfolgreich abgeschloßen wurde, muß man sich noch mit

Remove-PSSession $Session

vom Office 365 abmelden.

Wenn man jetzt in Apple Mail (oder auch z.B. an einem iPhone) anfängt einen Adressaten einzutippen, werden automatisch (mit kurzer Verzögerung) passende externe Kontakte aus Office 365 vorgeschlagen. Im Apple Adressbuch kann man sich zwar nicht alle externen Kontakte aus Office 365 als Liste anzeigen lassen, aber bereits nach der Eingabe eines einzelnen Buchstabens in das Suchfeld werden alle passenden externen Kontakte angezeigt.

[Update] Eine externe Empfängerin (und nur diese) hat nach der Umstellung auf Office 365 an Ihrem Mac (10.5 Leopard) sowohl mit Apple Mail als auch mit Entourage 2008 alle Mailanhänge als „winmail.dat“ empfangen. Da bei dem Kunden keine Microsoft-Mailclients im Einsatz sind und daher keine TNEF formatierten E-Mails (der technische Hintergrund der winmail.dat Anhänge) erzeugt werden, habe ich mich entschieden wie in diesem Hilfedokument beschrieben einfach am Server für alle externen Maildomänen das TNEF-Mailformat zu deaktivieren. Dafür sendet man mit PowerShell (nach entsprechender Anmeldung wie oben beschrieben) folgenden Befehl an Office 365:

Set-RemoteDomain Default -TNEFEnabled $false

Wie üblich hinterher die PowerShell Session sauber schließen!