Office 365 – Administration

Wer sich für Office 365 und deren vielen Funktionen entschieden hat, der hat sicher festgestellt, dass es bis vor einer bestimmten Zeit man zwischen drei verschiedenen Cloud-Speicher/ Cloud-Regeln entscheiden konnte (DE, EU, COM). Ich habe das Pech oder auch Glück ;-), dass man sich bei mir auf Arbeit für die DE-Cloud entschieden hat. Nebenher habe ich aber auch das Privileg als Developer eine COM-Cloud als Entwickler zu testen. Maßgeblich sollte nur der Speicherort der Cloud-Daten hier den unterschied machen, aber später kam dann doch noch mehr zum Tragen.

Es stellten sich nach und nach schnell mehr Nachteile als Vorteile aus meiner Sicht heraus. In der DE-Cloud greift auch die neue DSGVO und macht das Arbeiten und Verwalten mit Office 365 unnötig schwierig. Entweder bestimmte Apps wie Teams oder Outlook-Handy-App funktionieren einfach nicht und geben wilde Fehler aus oder aber bestimmte Sicherheitseinstellungen die man einstellt greifen schlicht weg nicht ohne das man einen Hinweis auf die Einschränkung durch DE-Cloud erhält.

Ebenso schwierig ist das zusammen Spiel von Benutzern/ Unternehmen die unterschiedlichen Clouds angehören bzw. verwenden. Ein Unternehmen mit DE-Cloud kann nicht uneingeschränkt mit einem Unternehmen aus der COM-Cloud arbeiten. Auch hier sind Fehlermeldungen entweder nicht vorhanden oder führen einen in die Irre.

Es gibt eine Liste mit DE-Einschränkungen, aber ich meine, dass diese nicht voll umfänglich ist und man weiter nur experimentieren kann. https://docs.microsoft.com/de-de/office365/servicedescriptions/office-365-platform-service-description/office-365-germany

In diesem Beitrag möchte ich über persönlich festgestellte Einschränkungen und Feststellungen schreiben, so dass andere sich eventuelle Suchzeiten und Problemlösungen ersparen.

Admin Center

Exchange Admin

Nachrichtenfluss / Regeln

Generell sollte man Mails mit bestimmten Anhängen in irgend einer Form behandeln. Hier wäre das Blockieren bestimmt die Beste Lösung, aber das funktioniert bei einer DE-Cloud nicht, sicher weil es dem Admin nicht erlaubt sein sein über das Recht des eigentlichen Empfängers zu entscheiden. So kann man z.B. Mails mit bestimmten anhängen wie „hta, exe, vbs“ nicht blockieren, nicht umleiten, nicht auf Genehmigung durch anderen Mitarbeiter umstellen und auch nicht TLS anfordern. All diese Sachen funktionieren Problemlos in der COM-Cloud, aber in der DE-Cloud wird bei Verwendung einer durch DSGVO eingeschränkten Regel alles außer Karft gesetzt und die Mail geht ohne weitere Behandlung zum eigentlichen Empfänger. Selbst wenn in der Regel erlaubte Regeln mit enthalten sind, werden diese keine Anwendung mehr finden.

Was funktioniert und was ich wenigstens anwende ist, dass ich der Betreffzeile einen kleinen Achtung-Text voranstelle [Achtung, Anhang prüfen] oder zu der eigentlichen Mail eine separate Mail mit hinterher sende, in der man deutlich mehr Text für Anweisungen unterbringen kann.

Datei-Endungen mit Makros von Office, aber auch PDF’s sollte man wenigstens mit Hinweis wie [Makro-Datei im Anhang] versehen.
https://support.office.com/de-de/article/dateiformate-die-mit-visual-basic-funktionieren-69afddfd-4479-4466-9f37-3f4046b5e107

Exchange Admin PowerShell

Verbindung zum Exchange via PowerShell aufbauen, wobei hierzu die Installation des Modules „Microsoft Exchange Online PowerShell Module“ Voraussetzung ist.

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office.de/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

(COM -> 
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
)

Import-PSSession $Session -DisableNameChecking
… arbeiten und am Ende wird empfohlen die Session zu schleißen …
Remove-PSSession $Session

OME einrichten und nutzen

Einrichten neuer Office 365-Nachrichtenverschlüsselungsfunktionen

Der entsprechende Schutzdienst ist bereits aktiviert, wenn Ihr Abonnement Azure Rights Management oder Azure Information Protection einschließt und Ende Februar 2018 oder danach erworben wurde und AutomaticServiceUpdateEnabled auf true steht. Ist das nicht der Fall, so muss man den Schutzdienst manuell aktivieren!

Prüfen kann man dies mit PowerShell (siehe Verbinden mit Exchange per PowerShell). Mit Get holt man sich die Info und mit Set stellt man die entsprechende Funktion ein oder aus.

Get-IRMConfiguration
Set-IRMConfiguration -AutomaticServiceUpdateEnabled $true

 

Azure Active Directory

Users

In der DE-Cloud ist es nicht möglich Gäste ohne deren Einwilligung hinzuzufügen. Die Einladung hierzu geht auch nicht hier bei „Users“ und muss bzw. über SharePoint erfolgen! Hat man einen Gast (externen User) z.B. zu einer SharePoint-Gruppe / SharePoint-Webseite hinzugefügt bzw. eingeladen, so erhält dieser eine Einladung an dessen Mail-Adresse. Im besten Fall sollte der Eingeladenen auf dieser Mail-Adresse einen Microsoft-Account registriert haben und in der Mail die Einladung annehmen. Erst wenn dies erledigt ist, sieht ein Admin unter „Users“ den Gast und kann diesen auch weiteren neuen SharePoint-Webseiten zu ordnen. In der COM-Cloud kann man direkt unter „Users“ einen Gast hinzufügen und diesem eine Einladung zukommen lassen. In jedem Fall sieht aber ein Admin den Status zu seinen Gästen, ob diese noch als eingeladen zählen oder ob Sie die Einladung angenommen haben.

Das schöne daran, wenn ein eingeladener bereits über ein Microsoft-Account verfügt ist, dass man als Admin sich keine Gedanken um dessen Passwörter machen muss. Soll ein Gast keinen Zugriff mehr haben, dann entzieht man Ihm der SharePoint-Webseite oder löscht diesen komplett.

 

installiertes Office erkennen

Dieses Script sollte ursprünglich als Startup-Script vor Benutzeranmeldung ausgeführt werden. Leider deinstalliert sich nicht jede Office-Version im Silent-Modus und erwartet eine Benutzereingabe, die ja von Benutzeranmeldung nie kommt.

Dennoch läuft das Script, wenn man es nach Benutzeranmeldung startet, meinet halben über Taskplaner/ LogonScript.
Meiner Erfahrung nach macht sowas aber wenig Sinn, da der Benutzer trotz Vorankündigung und Anleitung nicht das macht was man erwartet und so die automatische Deinstallation/ Installation schief geht. Also lieber sich selber an den PC setzen.

Vorbereitung

Bereitstellungstool von Office herunterladen und ODT-Offline-Version erstellen.
https://docs.microsoft.com/de-de/deployoffice/overview-of-the-office-2016-deployment-tool

Tipp:

Erstmal keinen PC auf TRUE setzen. Über set log= kann über einen Pfad zu einem beschreibbaren Verzeichnis eine Log-Datei erstellt werden. So kann das Script als Startup/Logon-Script ausgeführt werden und man erfährt auf welchem PC welche Office-Version installiert ist.

Ablauf

  • erkennen der installierte Office-Version [o365|2013|2010]
  • innerhalb der erkannten Office-Versions-Routine → iF defined [o365|2013|2010] PC-Name prüfen ob dieser zur Deinstallaition/Installation berechtigt ist
    Call-Befehl zur Deinstallation aufrufen → call %[o365|2013|2010]%
  • neues Office 365 aus Offline-ODT installieren, wahlweise als 32bit und 64bit möglich.
    call \\spc\…..\setup.exe /configure \\spc\….\configuration32bit.xml|configuration64bit.xml]
  • Wird kein Office erkannt, so soll nach PC-Namensprüfung Office 365 aus Offline-ODT installiert werden → :error

    Code

@echo off

set regKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
set regKey64=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
set regString=/v UninstallString
set "log="
set "o365="
set "o2013="
set "o2010="
set "o2007="

rem Office 365 RegKeys
FOR /F "tokens=2* delims=     " %%A IN ('REG QUERY "%regKey%\O365BusinessRetail - de-de" %regString%') DO SET o365=%%B &::globale Erkennung Microsoft Office 365
IF not defined o365 FOR /F "tokens=2* delims=     " %%A IN ('REG QUERY "%regKey%\{90150000-007E-0000-1000-0000000FF1CE}" %regString%') DO SET o365=%%B &:: Microsoft Office 365 Business - Version 2013
IF not defined o365 FOR /F "tokens=2* delims=     " %%A IN ('REG QUERY "%regKey%\{90160000-007E-0000-1000-0000000FF1CE}" %regString%') DO SET o365=%%B &:: Microsoft Office 365 Business - Version 2016

rem Office 2013 RegKeys
FOR /F "tokens=2* delims=     " %%A IN ('REG QUERY "%regKey%\HomeBusinessRetail - de-de" %regString%') DO SET o2013=%%B &::globale Erkennung Microsoft Office 2013
IF not defined o2013 FOR /F "tokens=2* delims=     " %%A IN ('REG QUERY "%regKey64%\HomeBusinessRetail - de-de" %regString%') DO SET o2013=%%B &::globale Erkennung Microsoft Office 2013 (64bit)

rem Office 2010 RegKeys
FOR /F "tokens=2* delims=     " %%A IN ('REG QUERY "%regKey%\Office14.SingleImage" %regString%') DO SET o2010=%%B &::Microsoft Office Home & Business SingleImage
IF not defined o2010 FOR /F "tokens=2* delims=     " %%A IN ('REG QUERY "%regKey64%\Office14.SingleImage" %regString%') DO SET o2010=%%B &::Microsoft Office Home & Business SingleImage (64bit)

set log=\\spc\NETLOGON\Scripts\filesStart\logs\Office\Office365_%computername%.log
IF defined o365 (
    Echo "Office 365 erkannt"
    Echo "Office 365 erkannt"> %log%
    Echo Start %date% %time%>> %log%
    ECHO UninstallString365=%o365%>> %log%
    Echo Client "%computername%" wird für Deinstallation überprüft>> %log%

    set "TRUE="
    IF "%computername%"=="V01WIN7-64.." set TRUE=1
    IF "%computername%"=="EDV-1510d..." set TRUE=1

    IF defined TRUE (
        echo Office-Deinstallation wird in die Wege geleitet>> %log%
        call %o365%>> %log%
        Echo %date% %time%>> %log%
        echo Office365-Installation wird in die Wege geleitet>> %log%
        call \\spc\NETLOGON\Scripts\files\Office\ODT\deploymenttool\Office365_2016_16\setup.exe /configure \\spc\NETLOGON\Scripts\files\Office\ODT\deploymenttool\Office365_2016_16\configuration32bit.xml>> %log%

    )else (
        echo Client ist für Deinstallation nicht ausgewählt worden>> %log%
    )
    Echo Ende %date% %time%>> %log%
    goto ende
)

set log=\\spc\NETLOGON\Scripts\filesStart\logs\Office\Office2013_%computername%.log
IF defined o2013 (
    Echo "Office 2013 erkannt"
    Echo "Office 2013 erkannt"> %log%
    Echo Start %date% %time%>> %log%
    ECHO UninstallString2013=%o2013%>> %log%
    Echo Client "%computername%" für Deinstallation wird überprüft>> %log%

    set "TRUE="
    IF "%computername%"=="V01WIN7-64.." set TRUE=1
    IF "%computername%"=="EDV-1510d..." set TRUE=1

    IF defined TRUE (
        echo Office-Deinstallation wird in die Wege geleitet>> %log%
        call %o2013%>> %log%
        Echo %date% %time%>> %log%
        echo Office365-Installation wird in die Wege geleitet>> %log%
        call \\spc\NETLOGON\Scripts\files\Office\ODT\deploymenttool\Office365_2016_16\setup.exe /configure \\spc\NETLOGON\Scripts\files\Office\ODT\deploymenttool\Office365_2016_16\configuration32bit.xml>> %log%

    )else (
        echo Client ist für Deinstallation nicht ausgewählt worden>> %log%
    )
    Echo Ende %date% %time%>> %log%
    goto ende
)

set log=\\spc\NETLOGON\Scripts\filesStart\logs\Office\Office2010_%computername%.log
IF defined o2010 (
    Echo "Office 2010 erkannt"
    Echo "Office 2010 erkannt"> %log%
    Echo Start %date% %time%>> %log%
    ECHO UninstallString2010=%o2010%>> %log%
    Echo Client "%computername%" wird für Deinstallation überprüft>> %log%

    set "TRUE="
    IF "%computername%"=="V01WIN7-64.." set TRUE=1
    IF "%computername%"=="EDV-1510d..." set TRUE=1
    IF "%computername%"=="VERTR03-1211.." set TRUE=1
    IF "%computername%"=="VERTR02-1706" set TRUE=1

    IF defined TRUE (
        echo Office-Deinstallation wird in die Wege geleitet>> %log%
        call %o2010%>> %log%
        Echo %date% %time%>> %log%
        echo Office365-Installation wird in die Wege geleitet>> %log%
        call \\spc\NETLOGON\Scripts\files\Office\ODT\deploymenttool\Office365_2016_16\setup.exe /configure \\spc\NETLOGON\Scripts\files\Office\ODT\deploymenttool\Office365_2016_16\configuration32bit.xml>> %log%

    )else (
        echo Client ist für Deinstallation nicht ausgewählt worden>> %log%
    )
    Echo Ende %date% %time%>> %log%
    goto ende
)

:error
echo fehler %errorlevel%
echo Kein gültiges Office erkannt
set log=\\spc\NETLOGON\Scripts\filesStart\logs\Office\OfficeXX_%computername%.log
Echo Kein gültiges Office erkannt> %log%

Echo Berechtigung zur Neuinstallation wird für "%computername% geprüft>> %log%
    set "TRUE="
    IF "%computername%"=="VWIN10-TEST01" set TRUE=1
    IF "%computername%"=="VERTR03-1211.." set TRUE=1
    IF "%computername%"=="VERTR02-1706" set TRUE=1

    IF defined TRUE (
        echo Office365-Installation wird in die Wege geleitet>> %log%
        Echo Start %date% %time%>> %log%
        call \\spc\NETLOGON\Scripts\files\Office\ODT\deploymenttool\Office365_2016_16\setup.exe /configure \\spc\NETLOGON\Scripts\files\Office\ODT\deploymenttool\Office365_2016_16\configuration32bit.xml>> %log%

    )else (
        echo Client ist für Neuinstallation nicht ausgewählt worden>> %log%
    )
    Echo Ende %date% %time%>> %log%

:ende
echo ende