AI in Azure und in der PowerPlatform

Dieser Artikel liefert eine Übersicht über die AI Komponenten von Microsoft in Azure und in der PowerPlatform.

Das Thema AI ist ein Thema, welche viele Entscheider umtreibt und vor dem gleichzeitig viele IT-Entscheider und Mitarbeiter noch etwas ratlos stehen. Abgesehen von der technischen Problematik ist das Thema an sich schwer zu greifen. In der „klassischen“ IT wird von einer Anforderung zu einem erwartenden Ergebnis gearbeitet. Ein Server soll installiert, ein Postfach verschoben werden. Das Ergebnis ist binär, entweder geht es oder eben nicht. Das trifft auf AI nur bedingt zu.

Sicher liefert eine AI Ergebnisse, aber ob damit ein Auftraggeber zufrieden ist, ist die andere Frage. Bei einer Bilderkennung ist dies noch relativ einfach, bei einer Vorhersage über Buchungsvolumina wird es schon komplizierter. Und oft genug werden an eine AI auch Forderungen gestellt und Wünsche formuliert, welche schlicht unerfüllbar sind. In einem System mit vielen sich gegenseitig bedingenden Eingangsgrößen lassen sich oft keine 100% genaue Prognosen erstellen. Dies wird aber zum Teil erwartet, obwohl dies in der Regel nicht der Sinn einer AI ist. Dieser ist eher, eine so nah wie möglich Prognose abzugeben. Und oftmals reicht diese auch schon völlig aus.

In dieser Gemengelage agiert eine AI und diejenigen, welche sie erstellen oder parametrisieren. Doch bevor es damit losgeht, noch ein Hinweis auf die Daten, welcher eine AI zu Grunde liegen. Wie in jeder datengetriebenen Anwendung ist hier die Qualität der Daten entscheidend. Daten, welche unvollständig oder welche geglättet sind, werfen viele Probleme auf. Die Entscheidung einer AI ist immer nur so gut wie die dahinterstehenden Daten. Das unterscheidet die AI nicht vom Menschen. Wenn ich nie gesegelt bin, kann ich kein Schiff segeln. Und genau wie Menschen aus Mustern lernen, so lernt auch eine AI aus Mustern oder eben der ihr zur Verfügung gestellten Daten.

Dies schafft auch Raum zum oft ungewollten Missbrauch. Als negatives Beispiel könnte ein Kreditbewertung gelten, welche weniger Daten weiblicher Kreditnehmerinnen enthält als männlicher. Die AI könnte dies so interpretieren, dass es immer besser ist männliche Kreditnehmer zu bevorzugen und damit weibliche benachteiligen, indem diese automatisch eine schlechtere Bewertung erhalten. Hier könnte man zu einem Daten von weiteren weiblichen Kreditnehmerinnen einspeisen oder das Kriterium Geschlecht in die Bewertung nicht mit einbeziehen.

Algorithmen, Modelle und einiges mehr

AI kann für verschiedene Zwecke eingesetzt werden, zum Beispiel für maschinelles Lernen, was Vorhersagemodelle basierend auf Daten und Statistiken sind. Für Anomalieerkennung, die ungewöhnlichen Muster oder Ereignisse erkennt und gegebenenfalls vorbeugende Maßnahmen ermöglicht. Maschinelles Sehen, die Bilder und Videos analysiert. Sprachverarbeitung, um Sprache zu erkennen und interpretieren sowie übersetzen zu können. Konversationen betreiben, wie es zum Beispiel Bots machen. Natürlich kann man das alles miteinander kombinieren. Zum Beispiel ein Chat, in welchen Benutzer mit einem Bot interagieren und Bilder schicken können, welche automatisch analysiert werden.

Microsoft Azure bietet für die oben genannten Anwendungszwecke die Module Azure Machine Learning, Cognitive Services und Azure Bot Service an. Genutzt werden diese Services primär in Azure ML und in der PowerPlatform.

Arbeiten mit Azure ML

Für den Einstieg in Azure ML ist es notwendig, einige Abläufe und Begriffe zu verstehen. Der prinzipielle Ablauf ist dabei, das als erstes ein Dataset erstellt wird. Dieses Dataset kann aus unterschiedlichen Quellen stammen und ist nicht spezifisch. Im Dataset werden die Daten aggregiert, welche später der AI zur Verfügung gestellt werden.

Als nächstes muss ein Modelltyp ausgewählt werden, also was soll eigentlich erreicht werden. Eine Vorhersage ist keine Klassifizierung. Übliche Modelle im maschinellen Lernen sind Regression für die Vorhersage eines numerischen Wertes, die Klassifizierung mit denen neue Daten aufgrund vorhandener Daten bezeichnet werden können und dem Clustering, welches bei der Mustererkennung verwendet wird. Jeder dieser Modelle verwendet unterschiedliche Algorithmen. Dabei gibt es in jedem Modell nicht nur einen Algorithmus, sondern viele.

Das Durchrechnen vieler verschiedener Algorithmen wird als Experiment bezeichnet. Dafür benötigten Sie eine Compute Umgebung, was nichts weiter als virtuelle, vorkonfigurierte Maschinen sind. Wenn Sie ein Azure ML Experiment erstellen, erstellt Ihnen Azure die Umgebung im Hintergrund.

In einem Experiment wird Azure ML eine Teilmenge der vorhandenen Daten abtrennen und versuchen einen Algorithmus zu finden, der dem vorhandenen Daten am besten entspricht. Es ist nicht notwendig, selbst zu wissen, was der beste Algorithmus ist. Azure ML wird alle ausgewählten Algorithmen durchrechnen und eine Aussage darüber treffen, welcher Algorithmus am besten mit den gegebenen Daten übereinstimmt. Bei der Modellauswahl kann auch festgelegt werden, dass nur bestimmte Algorithmen genutzt werden. Dies verkürzt die Rechenzeit und damit die Kosten erheblich, setzt aber das Wissen um die Algorithmen voraus.

Ist der für die Fragestellung effektivste Algorithmus gefunden, kann ein Modell damit trainiert werden. Es ist möglich, ein Modell mit Modellerklärungen zu untersuchten. Auch hier geht es wieder darum, wie nah ein Algorithmus an der Wirklichkeit ist. Azure ML bietet dazu eine grafische Oberfläche. Diese zeigt die Abweichung vom Ergebnis des Modells und den Daten, welche vorher abgetrennt wurden.

Azure ML Pipelines bilden einen Workflow ab. Damit kann festgelegt werden, woher neue Daten kommen und wie diese in der Anwendung zu verwenden sind. Ein Modell kann damit ständig neu trainiert werden. Erstellt werden können diese im Pipeline Designer oder aber per Code. Azure ML Pipelines können noch weitere Aufgaben erfüllen, dies würde aber den Rahmen dieses Artikels sprengen.

Ist das Modell fertig, kann es per Endpunkt über http(s) veröffentlicht werden. Damit kann eine Anwendung eine kleine Menge an Daten schicken und das Modell beziehungsweise der darunter liegende Algorithmus liefert das Ergebnis an die aufrufende Anwendung zurück.

AI in der PowerPlatform

Azure ML ist extrem flexibel und damit auch vergleichsweise aufwendig. Aber es ist die ideale Lösung, wenn Sie kein vorbereitetes Modell haben und ganz von vorn beginnen. In einer Lösung für Endanwender geht das nicht. Da braucht es schon fertige Modelle, die der Benutzer nur noch mit seinen eignen Daten füttern muss. Und genau das liefert AI Builder in der PowerPlatform. Es gibt darin verschiedene, schon vorkonfigurierte Modelle für Bilderkennung, Dokumentenerkennung und einiges mehr. Es ist auch möglich, mit Einschränkungen Modelle aus Azure ML zu verwenden.

Ein Benutzer muss diese Modelle nur noch trainieren. Will er zum Beispiel verschiedene Verpackungen erkennen, muss er ein Modell zur Bilderkennung auswählen und in dieses verschiedene Bilder von Verpackungen hochladen. Nach dem Hochladen muss er jedes Bild klassifizieren, welche Verpackung dies nun ist. Ist das Training abgeschlossen, kann das Model z.B. in einer PowerApp verwendet werden. Ein Benutzer lädt ein Bild hoch und es wird automatisch erkannt, um welche Verpackung es sich handelt. Dies funktioniert natürlich nur, wenn das ein Bild auch eine Verpackung zeigt. Der AI Builder kann auch in PowerAutomate verwendet werden, wenn zum Beispiel ein Bild hochgeladen wird und ein Flow danach das Bild kategorisiert.

Azure Cognitive Services

Ähnlich dem AI Builder können die Azure Cognitive Services verwendet werden. Während aber im AI Builder eine grafische Oberfläche zur Verfügung steht und keine wirkliche Programmierung unterstützt wird, ist dies bei den Azure Cognitive Services umgedreht. Auch hier gibt es vorbereitete Modelle, zum Beispiel für Bild- oder Sprachanalyse. Diese Modelle sind explizit dafür gedacht in einer Entwicklung verwendet zu werden und stellen dafür spezifische APIs zur Verfügung.

Genutzt werden können diese APIs in jeder Entwicklungsumgebung oder auch in der PowerPlatform. Besonders interessant ist, dass die meisten APIs ein freies Kontigent von Abfragen zur Verfügung stellen. Gerade wenn man damit erst einmal testen möchte, ist dies sehr nützlich. Auf der Website https://aidemos.microsoft.com kann man dies aber auch ohne Anmeldung im Browser.

Fazit

Ob man AI einsetzt, ist keine Frage mehr. Die Frage ist eher, an welcher Stelle welches Werkzeug eingesetzt wird. Microsoft Azure und die PowerPlatform bieten eine große Vielfalt von AI Werkzeugen. Dabei können komplett eigene Modelle bin hin schon zu fertigen Lösungen genutzt werden. Für viele typische Anwendungsfälle wie Bild-, Text und Sprachanalyse stehen diese schon einsatzbereit zur Verfügung.

Sensitivity labels (Vertraulichkeitsbezeichnungen) für Gruppen und Microsoft Teams anwenden

Sensitivity labels, im Deutschen etwas holprig mit Vertraulichkeitsbezeichnungen übersetzt, sind in Microsoft 365 eine gute Möglichkeit, um Zugriffe auf eine Microsoft 365 Gruppe schnell und einfach zu schützen. Sie können dazu sensitivity labels, welche üblicherweise auf Dokumente oder E-Mails vergeben werden, nutzen. Es ist möglich, mit dem gleichen Label Dokumente oder E-Mails zu schützen und den Zugang zu einer Gruppe. Das Label muss im Compliance Center von Microsoft 365 angelegt und mittels einer Policy veröffentlicht werden. Ein erster Start ist mit Hilfe https://docs.microsoft.com/de-de/microsoft-365/compliance/get-started-with-sensitivity-labels?view=o365-worldwide möglich.

Das Labeln von Dokumenten oder E-Mails ist ein übliches Verfahren und auch schon länger bekannt. Er steht auch in den meisten Microsoft 365 Plänen mit zur Verfügung. Weniger bekannt ist, dass sensitivity labels auch für Microsoft 365 Gruppen verwendet werden können. Dies bedeutet, dass eine Microsoft 365 Gruppe beim Erstellen oder auch zu einem beliebigen Zeitpunkt danach mit einem Label versehen wird. Mit diesem Label können Sie folgendes erreichen. Alle Einstellungen können miteinander kombiniert werden.

  • Für eine gelabelte Gruppe können Sie den Datenschutz (öffentlich oder privat) vorgeben. Wenn Sie zum Beispiel ein Label Vertraulich konfigurieren und ein Benutzer wählt dieses aus, so kann er nur eine private Gruppe erstellen und keine öffentliche Gruppe. Natürlich müssen Sie dies während der Konfiguration mit angeben.
  • Sie könne den Zugriff externer Benutzer reglementieren. Wenn zum Beispiel in Microsoft Teams der Gastzugriff aktiviert ist, ist in allen Teams bzw. in den dahinterliegenden Microsoft 365 Gruppen der Gastzugriff aktiviert. Wenn Sie keine Gäste in dem Team haben wollen, so geht das ohne sensitivity labels nicht. Wenn Sie aber ein entsprechendes Label anwenden, sind trotz aktivierten Gastzugriff keine Gäste erlaubt.
  • Sie können mit einen entsprechend konfigurierten Label die externe Freigabe von SharePoint-Websites kontrollieren.
  • Sie können festlegen, ob der Zugriff von nicht verwalteten Geräten auf Gruppen zulässig ist.
  • Über den Authentifizierungskontext, welcher in einer Richtlinie für den bedingten Zugriff konfiguriert wird, können Sie Zugriff verweigern oder erlauben.

Voraussetzungen

Es sind mehrere Voraussetzungen nötig, damit die Labels auf eine Microsoft 365 Gruppe angewendet werden können:

  • Sie benötigen die Azure Active Directory Premium 1 Lizenz. Diese ist in mehreren Plänen (Microsoft 365 Business Premium, Microsoft E3 und höher, EMS E3 und höher) enthalten, kann aber auch einzeln pro Benutzer erworben werden. Da ist CSP Partner bin, kann ich Ihnen diesbezüglich interessante Angebote machen. Wenn Sie Interesse daran haben, kontaktieren Sie mich hier.
  • Sie müssen erst ein PowerShell Script ausführen, damit Sie überhaupt Labels für Microsoft 365 Gruppen vergeben können. Führen Sie dies nicht aus, ist die Option beim Erstellen des Labels ausgegraut und Sie können Sie nicht konfigurieren. Das untenstehende PowerShell sollte von einem globalen Administrator ausgeführt werden. Warten Sie eine Weile, bis die Änderung im Compliance Center zur Verfügung steht.
# Nur, wenn noch nicht installiert
# Install-Module -Name AzureADPreview  -AllowClobber
# Remove-Module AzureAD
# Nur, wenn nicht in Session enthalten
# Import-Module -Name AzureADPreview  

Connect-AzureAD

$setting=(Get-AzureADDirectorySetting | where -Property DisplayName -Value "Group.Unified" -EQ)
  if ($setting -eq $null)
  {
    $template = Get-AzureADDirectorySettingTemplate -Id 62375ab9-6b52-47ed-826b-58e47e0e304b
    $setting = $template.CreateDirectorySetting()
    $setting["EnableMIPLabels"] = "True"
    New-AzureADDirectorySetting -DirectorySetting $setting
  }
  else
  {
    $setting["EnableMIPLabels"] = "True"
    Set-AzureADDirectorySetting -Id $setting.Id -DirectorySetting $setting
  }

Label erstellen

Um ein Label zu erstellen, gehen Sie in das Compliance Center unter https://compliance.microsoft.com/informationprotection?viewid=sensitivitylabels. Alternativ klicken Sie im Compliance Center am rechten Rand auf Informationprotection. Erstellen Sie ein neues sensitivity label mit einem Klick auf Create a label. Vergeben Sie einen aussagekräftigen Name, Anzeigenname und Beschreibung. Aktivieren Sie die Option Groups & sites. Gegebenenfalls deaktivieren Sie die Option Files & email. Die darauffolgenden Dialoge sind selbsterklärend. Veröffentlichen Sie nach dem Erstellten des Labels dieses über eine label policy.

Anwenden und entfernen

Typischerweise wird ein Label für eine Gruppe beim Erstellen eines Teams verwendet. Dort erscheint es auch direkt im Dialog zum Erstellen eines neuen Teams.

Beachten Sie dabei, dass wenn Sie ein Label anwenden, dieses auch auf die zu der Microsoft 365 Gruppe gehörigen Website angewendet wird, allerdings nicht auf die Dokumente in der Website.

Um ein Label von einer Microsoft 365 Gruppe zu entfernen oder zu ändern, gibt es mehrere Wege.

  • In Teams wählen Sie aus dem Kontextmenü des Teams den Eintrag Team bearbeiten. Dort können Sie dann die Änderung vornehmen.
  • Gehen Sie in die Gruppenverwaltung von Azure Active Directory, rufen die Gruppe auf und bearbeiten Sie die Eigenschaften der Gruppe. Dort kann das Label entfernt/geändert werden.

Beachten Sie, dass in beiden Fällen das Label der darunter gelegenen zugehörigen SharePoint online Website nicht geändert wird. Dieses müssen Sie gegebenenfalls im SharePoint online Admincenter ändern. Lassen Sie sich dazu die Eigenschaft der Site anzeigen und gehen in den Tab Policies. Dort können Sie das Label ändern.

Fazit

Gerade für Teams, welche erhöhte Sicherheitsanforderungen stellen, bieten sensitivity labels einen unkomplizierten und effektiven Schutz. Sie sind einfach zu erstellen, anzuwenden und zu verwalten. Für den Benutzer ist die Anwendung der Labels demgegenüber transparent.

Sitevorlagen gestalten in SharePoint online

In so ziemlich jedem SharePoint Projekt stellt sich früher oder später die Frage, wie angepasste Site Templates erstellt und verwaltet werden können. Im klassischen SharePoint können diese erstellt und mit Visual Studio einer Farm hinzugefügt werden. Dabei gibt es zwar ein paar Restriktionen, aber im Allgemeinen funktioniert das gut.
Eine Alternative zu doch der sehr aufwendigen Verwaltung mit Visual Studio ist Office PnP. Dies sind PowerShell Scripts, welche einer vorhandenen Site Funktionalitäten hinzufügen. Dies geht natürlich auch bei SharePoint Online, aber dort gibt es noch eine bessere Lösung: Die Arbeit mit Sitedesigns. Ein Sitedesign ist dabei nicht nur eine optische Anpassung, sondern ein Design umfasst auch Listen, Berechtigungen, Navigationslinks, Flows und vieles mehr. Dieser Artikel erläutert, wie man ein Sitedesign in SharePoint Online erstellt und verwaltet.

Begriffe und Vorbereitung

Um mit Websitedesign zu arbeiten, muss das aktuelle SharePoint Online PowerShell Modul installiert sein. Wenn nicht vorhanden, eine administrative PowerShell Session öffnen und darin den folgenden Befehl ausführen:

Install-Module -Name Microsoft.Online.SharePoint.PowerShell

Dies kann auf einem lokalen Rechner passieren oder in einer serverlosen Umgebung wie z.B. Azure Functions. Dort wird das Modul natürlich anders installiert. Ist das Modul schon vorhanden, aber vielleicht ein älterer Stand, hilft ein

Update-Module -Name Microsoft.Online.SharePoint.PowerShell

Alle Befehle in diesem Artikel gehen davon aus, dass das Modul installiert und der Benutzer sich an SharePoint Online angemeldet hat mit

Connect-SPOService -Url https://<Mandantenname>-admin.sharepoint.com -Credential <SharePoint online Login>

Ein Websitescript ist eine JSON Datei, welche Verben enthält. Diese Verben sind Aktionen, die auf einer Website ausgeführt werden sollen. Aktionen können Unteraktionen haben. So kann eine Liste erstellt (Aktion) und dieser Liste neue Felder hinzugefügt werden (Unteraktion). Es könnten auch erst Inhaltstypen- und Spalten erzeugt und diese der Liste hinzugefügt werden. Eine komplette Referenz der JSON Verben finden sich unter https://docs.microsoft.com/de-de/sharepoint/dev/declarative-customization/site-design-json-schema

Ein Websitescript wird einem Mandanten hinzugefügt und über eine ID eindeutig identifiziert.  Über den Befehl Get-SPOSiteScript kann man diese finden. Wird der Befehl ohne weitere Parameter aufgerufen, zeigt er alle Websiteskripte im Mandanten an. Vor dem ersten eigenen Websitescript liefert er allerdings nichts zurück.

Ein Sitedesign umfasst ein oder mehrere Scripts und führt diese aus, wenn das Design angewendet wird. Es muss also bei dem Erstellen eines Design mindestens ein Script hinzugefügt werden. Das Script muss im Mandanten schon vorhanden sein und wird über seine ID identifiziert. Der folgende Code erstellt ein Script im Mandanten und erstellt anschließend ein Design.

$siteScript = Get-Content '<Pfad zum Script>' -Raw
$scriptID = Add-SPOSiteScript  `
-Title "Website Script example"  `
-Content $siteScript  `
-Description
Add-SPOSiteDesign `
  -Title "Site design example" `
  -WebTemplate "64" `
  -SiteScripts ($scriptID).Id  `
  -Description "Just example design"

Der Befehl Add-SPOSiteDesign hat dabei einige interessante Parameter. So können dem Design zum Beispiel noch ein Bild mitgegeben werden, welches bei der Auswahl des Designs angezeigt wird. Am wichtigsten ist aber der Parameter -WebTemplate. Diese legt fest, an welchen Vorlagentyp das Design gebunden wird. Dabei können nur moderne Websitevorlagen verwendet werden und es gelten die folgenden Werte für den Parameter:

  • 64 = Teamweb
  • 68 = Communication Web
  • 1 = Groupless Team Site

Wird jetzt eine neue Site erstellt, kann das Design ausgewählt werden.

Soll das Design auf alle neu erstellt Websites standardmäßig angewendet werden, soll hilft der Parameter -IsDefault.

Ein Design auf eine vorhandene Site anwenden

Natürlich kann ein Design auch auf eine schon vorhandene Site angewendet werden. Dazu muss das Design allerdings vorher veröffentlich wurden und die ID des Designs bekannt sein. Ist dies nicht der Fall, kann man sich mit Get-SPOSiteDesign alle veröffentlichen Designs anzeigen lassen.

Um ein vorhandenes Design anzuwenden, benutzen Sie bei weniger als 30 Aktionen und Unteraktionen in den Scripts den Befehlt Invoke-SPOSiteDesign. Wenn Sie in den Scripts mehr als 30 Aktionen und Unteraktionen ausführen, müssen Sie stattdessen Add-SPOSiteDesignTask verwenden. Dieser Befehl hat ein Limit von 300 Aktionen oder 100.000 Zeichen. Die Argumente sind analog. Ein typischer Aufruf könnte so aussehen:

Invoke-SPOSiteDesign  -weburl 'https://ntscript.sharepoint.com/sites/training' -Identity 68c78fbb-b60b-5678-1234-840329934676

Ein Design aus einer vorhandenen Site verwenden

Natürlich kann man alles von Anfang an in ein Script schreiben um ein gewünschtes Design zu erreichen. Einfacher ist aber möglicherweise sich zuerst eine Vorlage zusammen zu klicken und dann diese Vorlage zu exportieren. Das geht einfach mit dem Befehl Get-SPOSiteScriptFromWeb wenn man ein ganzes Web als Vorlage verwenden möchte oder Get-SPOSiteScriptFromList wenn es eine Liste sein soll. Beide Befehle geben JSON zurück, welches dann noch als Datei abgelegt werden muss. Der folgende Code erledigt dies.  Für die Parameter, sofern sich diese nicht von selbst erklären, hilft ein Blick in die Doku.

$extracted = Get-SPOSiteScriptFromWeb `
    -WebUrl https://msdx090099.sharepoint.com/sites/ceoconnection `
    -IncludeBranding `
    -IncludeTheme `
    -IncludeRegionalSettings `
    -IncludeSiteExternalSharingCapability `
    -IncludeLinksToExportedItems `
    -IncludedLists ("Shared Documents")

Out-File -FilePath 'C:\Demo\SPOScripts\siteexample.json' -InputObject $extracted -Encoding bigendianunicode

Das Erstellen eines SiteDesigns bietet sich auch dann an, wenn man mit JSON und vor allem dem Schema der Scripts noch nicht so vertraut ist. Man kann damit schnell lernen und auf einer Testsite seine eigenen Entwürfe anwenden, bevor man diese auf die Vorlagen anwendet.

Pflege der Scripts und Designs

Soll ein Script im Web geändert werden, was relativ häufig vorkommt, hilft der Befehl Set-SPOSiteScript. Hier muss dann wieder der neue Inhalt und natürlich die ID des Scripts angegeben werden. Soll ein Design geändert werden, weil diesem zum Beispiel ein neues Script hinzugefügt werden soll, so geht dies mit Set-SPOSiteDesign. Über die Befehle Remove-SPOSiteScript bzw. Remove-SPOSiteDesign kann ein Script/Design entfernt werden.

Fazit

SiteDesigns sind eine einfache und schnelle Möglichkeit Vorlagen in SharePoint online bereitzustellten. Dabei kann man flexibel auf Änderungen reagieren und schnell einen Mehrwert generieren.

Training Office 365 Administrator

Nehmen Sie zur Buchung mit mir Kontakt auf.

Dauer und Ablauf:

2 Tage, remote oder vor Ort

Preis und Unterlagen:

950 Euro pro Person, Durchführung ab zwei Personen
Sie erhalten die gesamte Präsentation mit über hundert Folien als PDF!

Zielgruppe:

Netzwerk-Administratoren

Voraussetzung:

Allgemeine Kenntnisse in der Administration von Windows-Umgebungen.

Ablauf:

Dieser Kurs ist eine Mischung aus Theorie und Praxis. Jeder Teilnehmer erhält einen virtuellen Computer in Microsoft Azure, welcher als DC fungiert. Von dort aus wird ein lokales Active Directory nach Azure Active Directory synchronisiert und damit gearbeitet. Sie erhalten eine fundierte Übersicht, um Office 365 erfolgreich einzuführen.

Ziel:

Sie erhalten einen Überblick über die Bestandteile von Office 365. Sie können außerdem Azure Active Directory, Exchange Online, SharePoint Online und Office Professional Plus verwalten. Ebenfalls können Sie die Synchronisierung des Azure Active Directory administrieren. Mit den Security & Compliance Center schützen Sie die Informationen.

Inhalte:

  • Die Office 365-Dienste
  • Lizenzierung im Überblick
  • Basiskonfiguration und Domänenverwaltung
  • Clients: Voraussetzungen und Vorbereitung
  • Möglichkeiten der Benutzeranmeldungen
  • Active-Directory-Synchronisierung
  • Übersicht Exchange Online-Migration
  • SharePoint Online-Administration
  • Office 365 installieren und verwalten, inkl. Device Lizenzierung
  • Arbeiten mit den Security & Compliance Center

Nehmen Sie zur Buchung mit mir Kontakt auf.

Neuer Artikel im IT-Administrator 08/2020: „DLP und Vertraulichkeitsbezeichnungen in Office 365“

In der aktuellen Ausgabe vom IT Administrator gibt es von mir einen Artikel über das Arbeiten mit DLP und Vertraulichkeitsbezeichnungen in Office 365.

Besprechungen im Teams Client mit Räumen buchen

Teams Besprechungen erfreuen sich aus gutem Grund großer Beliebtheit. Eine solche aufzusetzen ist im Outlook Desktop Client kein Problem. Das geht auch wunderbar im Teams Client und im Outlook im Web. Möchte man allerdings einer Besprechung Räume hinzufügen, funktioniert dies nur im Outlook Desktop Client. Der Screenshots unten zeigt den erfolglosen Versuch im Team Client einer Besprechung einen Raum hinzuzufügen. Dabei existiert mindestens ein Raum.

Um Räume im Teams Client und Outlook im Web verfügbar zu machen, müssen Sie eine Raumliste erstellen, was nur eine spezielle Verteilergruppe ist. Leider gibt es dafür keine Möglichkeit in der Oberfläche, dies geht nur mit Power Shell. Kopieren Sie das unten stehende Script und passen Sie es entsprechend an. Ausgeführt werden sollte es vom Exchange online oder auch dem globalen Administrator.

Ich habe das Script bewusst einfach gehalten, in einer produktiven Umgebung würde ich zum Beispiel noch eine Abfrage einfügen ob eine Gruppe mit dem gewählten Name schon existiert. Möchten Sie der Raumliste mehrere Räume hinzufügen, könnte man zum Beispiel eine CSV Datei importieren und über eine Schleife die entsprechenden Räume hinzufügen.
Die Abbildung unten zeigt das Erstellen einer Besprechung im Teams Client dem erfolgreich Räume hinzugefügt wurden. Wenn die Räume nicht sofort erscheinen, den Teams Client einmal komplett neu starten.

Set-ExecutionPolicy RemoteSigned

# Verbindung zu Exchange online aufbauen
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

# Name der Raumliste und Gruppe erzeugen
$Groupname ="Conference Rooms"
New-DistributionGroup -Name $Groupname -RoomList

# Raum hinzufügen, <Room E-Mail> entsprechend ersetzen
Add-DistributionGroupMember -Identity $Groupname -Member <Room E-Mail>

# Session entfernen
Remove-PSSession $Session

Noch Fragen zu Microsoft Teams? Dann schreiben Sie einen Kommentar!

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular oder schreiben Sie einen Kommentar.

Sie wollen mehr über meine Leistungen erfahren? Dann klicken Sie hier.

Neuer Artikel im IT-Administrator 04/2020: „Arbeiten mit Aufbewahrungsbezeichnungen in Office 365“

In der aktuellen Ausgabe vom IT Administrator gibt es von mir einen Artikel über das Arbeiten mit Aufbewahrungsbezeichnungen in Office 365.

IT-Admin-02-2020

Arbeiten mit Vorlagen in Microsoft Teams

In der aktuellen Corona Situation ist für viele Firmen Home Office und damit Microsoft Teams das Mittel der Wahl. Dementsprechend gibt es viele KollegInnen, welche entsprechende Anleitungen schreiben wie man Teams am besten einführt, wie man es anpasst und die Nutzer animiert es optimal zu nutzen. Dies ist nicht der nächste Artikel unter vielen zu dem Thema, denn dieser Artikel beschäftigt sich mit dem Thema Vorlagen in Microsoft Teams. Er erläutert, wie Sie einfach ein neues Team aus einem schon bestehenden erzeugen können und wo die Grenzen dessen liegen.
Microsoft Teams wird in vielen Geschäftsprozessen innerhalb einer Organisation eingesetzt. Oft sind dies Projekte und gerade dort kann man gut mit einer generischen Vorlage arbeiten. Eine Vorlage mit allen Kanälen und Tabs wird einmal erstellt und dann bei jedem neuem Projekt wieder verwendet. Dabei ist zu beachten, dass die neuen Teams natürlich eine Kopie sind und Änderungen am Template nicht auf die schon damit erstellten Teams weitergereicht werden. Änderungen an der Vorlage sind immer erst an danach erstellten Teams sichtbar. Die folgenden Ausführungen gelten für alle Teams, welche KEINE privaten Kanäle enthalten. Wie Sie mit privaten Kanälen umgehen, lesen Sie weiter unten.
Wenn Sie ein neues Team aus einem schon vorhandenen Team erstellen möchten, so erstellen Sie ggf. die Vorlage und gehen dann auf Team beitreten oder erstellen.  Dort wählen Sie dann Team erstellen und Erstellen aus… Im nächsten Dialog klicken Sie auf Team. Sie sehen alle Teams, in welchen Sie Mitglied sind. Wählen Sie das entsprechende Team und klicken Sie auf dieses. Im folgenden Fenster geben Sie dem neuen Team ein Name, wählen den Datenschutz und scrollen in dem Fenster ganz nach unten. Erst dann können Sie alle Einstellungen sehen, was Sie übernehmen wollen.
2020-03-29_13h37_16
Das neue Team wird sofort erstellt und steht den Mitgliedern zur Verfügung. Die folgende Abbildung zeigt zum einen die Vorlage und zum anderen das daraus neu erstellte Team.
2020-03-29_13h39_251

Vorlagen und private Kanäle

Wenn man die Vorlage und das neue Team vergleicht, fällt auf, dass der private Kanal Finanzen fehlt. Dies ist keine Einstellung in einer Konfiguration, sondern private Kanäle können in Vorlagen auf diesem Weg nicht verwendet werden. Es gibt allerdings andere Möglichkeiten private Kanäle in einer Vorlage zu verwenden. Bevor wir aber dazu kommen, noch ein paar Worte zu privaten Kanälen.
Auf private Kanäle darf nur ein bestimmter Personenkreis zugreifen, welcher sich zudem im Team bzw. der Office 365 Gruppe, die dem Team zugeordnet ist, befinden muss. Es ist nicht möglich, auf einen privaten Kanal eine bestehende Office 365 Gruppe direkt zu berechtigen. Muss man mit Code Teams Vorlagen erstellen, so muss man die einzelnen Benutzer aus der Office 365 Gruppe holen (aufzählen) und jeden Benutzer einzeln zuordnen. Das ist nicht weiter kompliziert, denn Microsoft Office Graph bietet dafür Methoden. Komplexer wird es, wenn nach dem Erstellen des Teams neue Benutzer hinzugefügt oder entfernt werden. Dazu könnte man an die Gruppe einen Power Automate Workflow hängen, der auf Änderung der Gruppenmitgliedschaft reagiert. Dieser Workflow entfernt oder fügt Mitglieder in die entsprechenden privaten Kanäle hinzu.
Um eine Teamvorlage zu erstellen, welche auch private Kanäle unterstützt, bieten sich verschiedene Wege an. Das eine wäre PowerShell. Man könnte die gesamte Vorlage per PowerShell coden und dieses PowerShell z.B. in Azure Automation oder Azure Function  ablegen. Über eine SharePoint Liste würden die Metadaten des neuen Teams erfasst. Das Speichern des Listeneintrages triggert dann das PowerShell. Eine Übersicht über alle Kommandos PowerShell für Teams finden Sie hier. Beachten Sie bei dieser Technik die Frage der Authentifizierung und des Kontext.
Intern machen die Kommandos der PowerShell Gebrauch von Microsoft Office Graph. Darüber können Sie nicht nur Teams verwalten, sondern so ziemlich alles machen was in Office 365 geht. Mit dem Microsoft Office Graph können Sie auch direkt arbeiten, Sie brauchen dafür kein PowerShell.
Microsoft stellt auch eigene Vorlagen für Teams zur Verfügung, welche Teams für verschiedene Branchen abbilden. Diese Vorlagen nutzen ebenfalls direkt Microsoft Office Graph. Eine Dokumentation dazu gibt hier. Die Definition eines Teams erfolgt in JSON. Eine Anleitung, wie solch eine Vorlage erstellt und ausgeführt wird, finden Sie hier. Natürlich wäre es auch möglich, wie in dem Beispiel oben, zu einem schon bestehenden Team weitere private Kanäle hinzuzufügen. Das ist das schöne an Microsoft Office Graph, er ist einfach und gleichzeitig extrem flexibel.
Das Erstellen einer Vorlage kann allerdings für jemand ohne einen Entwicklerhintergrund schwierig werden. Es ist aber nicht unmöglich, zumal man die Vorlage direkt im Browser auch testen kann. Aber vielleicht ist da der Dienstleister oder das Tool eines Drittanbieters die bessere Wahl…

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular oder schreiben Sie einen Kommentar.

Sie wollen mehr über meine Leistungen erfahren? Dann klicken Sie hier.

Arbeiten mit Konnektoren und Bots in Microsoft Teams

Microsoft Teams ist die wahrscheinlich am meisten genutzte Anwendung innerhalb von Microsoft Office 365 außerhalb der klassischen Anwendungen. Eine interessante Lösung, welche noch besser wird, weil sie einfach zu erweitern ist. Dafür gibt es verschiedene Wege. Zwei davon sind Bots und Konnektoren. Dieser Blogartikel beschreibt, wie Sie beide zu einer Teams Umgebung hinzufügen und damit arbeiten können.
Microsoft Teams bietet schon von Haus aus ein großes Potential Informationen zu verwalten und zu strukturieren. In einer nicht angepassten Standardinstallation bleibt man dabei innerhalb des Office 365 Ökosystem, was oftmals auch völlig ausreichend ist. Bots und Konnektoren erweitern Teams, indem man einfach mit Drittsystemen interagieren kann oder weitere Microsoft Anwendungen einbindet. Wobei es natürlich auch Bots und Konnektoren gibt, welche ausschließlich wieder innerhalb von Office 365 agieren. Diese werde ich auch für Demonstrationszwecke verwenden. Die Herangehensweise bleibt sich aber allen Konnektoren und Bots gleich.

Arbeiten mit Bots

Ein Bot ist ein kleines Programm, welches auf eine Eingabe reagiert und flexibel Informationen zurückliefert. Bots gibt es für alles mögliches, für das Wetter, für Workflows, Konferenzen, Umfragen, etc. Man kann auch selbst relativ einfach eigene Bots schreiben und in diese in Teams veröffentlichen, z.B. mit Microsoft Azure (https://dev.botframework.com). Bots können in Microsoft Teams Mandantenweit verfügbar sein, in einem Kanal oder beides. Mit mandantenweiten Bots wird über einen privaten Chat kommuniziert. In einem Kanal wird ein Bot mit @ angesprochen. Oft folgt unmittelbar nach dem Namen die Frage, welche ich an dem Bot habe. Weiter unten finden Sie dazu zwei Beispiele.
Einige Bots sind Microsoft Teams schon bei Installation hinzugefügt. In einer Standardinstallation kann jedes Teammitglied und jeder Besitzer, aber keine Gäste, weitere Bots hinzufügen. In der linken Linkleiste klicken Sie ganz unten auf Apps und in der erscheinenden Seite auf Bots. Suchen Sie den gewünschten Bot und klicken Sie diesen an. Nach einer Nachfrage wird dieser hinzugefügt. Abhängig vom Bot folgen noch weitere Dialoge, z.B. welchen Kanal der Bot hinzugefügt werden soll. Dies natürlich nur, wenn der Bot dies unterstützt. Sie erkennen dies am Dialog. Der folgende Screenshot zeigt ein Bot, welche nur global hinzugefügt und der nicht in einem Kanal verwendet werden kann.
2020-02-13_14h33_15
Wollen Sie mit dem Bot chatten und Sie habe noch keinen Chat mit ihm geführt, klicken Sie auf die drei Punkte in der Mitte der linken Linkleiste und klicken Sie auf den Namen des Bots.
2020-02-13_14h55_02
Sie können jetzt einen Namen einer Ihrer Mitarbeiter eingeben. Der Bot wird versuchen Ihnen alle Informationen über die Person aus dem Azure Active Directory zu liefern. Es sind auch noch weitere Abfragen möglich, der Bot bietet dazu Beispiele. Damit dieser Bot arbeiten kann, müssen Sie diesen erst berechtigen, wie die folgende Abbildung zeigt.
Die folgende Abbildung zeigt einen Bot, welcher zu einem Kanal hinzugefügt werden kann und mit dem man ebenso chatten kann. Einige dieser Bots erzeugen Ihnen auch in einem Kanal automatisch eine neue Registerkarte.
2020-02-13_14h35_07
Wenn man z.B. mit dem Forms Bot eine Umfrage erstellen möchte, kann man diesen in einem Kanal folgenermaßen ansprechen:
@Forms Wie findest Du diesen Blog? Super, Na ja, Nicht so der Hit
Der Bot wird daraufhin ein Formular samt Auswertung erzeugen. Ganz einfach, nur mit der Formulierung der Frage (Fragezeichen nicht vergessen!) und der möglichen Antworten, getrennt mit Komma.
2020-02-15_16h04_21
Wenn Sie einen Bot aus einem Kanal entfernen möchten, klicken Sie auf die drei Punkte neben dem Teamname und wählen Team verwalten. Auf der Registerkarte Apps können Sie den Bots aus dem Kanal löschen. Wenn Sie einen Bot global löschen wollen, zeigen Sie auf die drei Punkte in der Linkleiste und klicken mit der rechten Maustaste auf den Bot. Dort können Sie diesen dann global löschen oder blockieren.
2020-02-13_15h49_10

Arbeiten mit Konnektoren

Im Unterschied zu Bots warten Konnektoren in der Regel nicht auf eine Eingabe, sondern liefern in einen Kanal Updates aus einem verbundenen System. So kann man sich einfach und schnell informieren lassen. Ein Konnektor läuft immer unter der Identität des Benutzers, welcher diesen eingerichtet hat. Unter Umständen können so also Informationen für unbefugte Dritte offengelegt werden. Beachten Sie auch, dass viele Konnektoren eine Weile für ihr Update benötigen. Für Echtzeit sind diese nicht geeignet. Die Abbildung zeigt Updates des Twitter Konnektors, welcher dem Hashtag #SharePoint folgt.
2020-02-15_16h07_04
Sie können Konnektoren über den gleichen Dialog wie Bots hinzufügen und aus dem Kanal ebenso löschen.

Verfügbarkeit von Bots und Konnektoren anpassen

Nicht in jeder Produktivumgebung ist es gewünscht, dass alle Benutzer alle Bots und Konnektoren benutzen dürfen. Welche zur Verfügung stehen, kann ein Administrator einschränken. Dazu geht man auf https://admin.teams.microsoft.com und dort unter Teams Apps => Berechtigungsrichtlinien. Hier können Sie sehr genau die gewünschten Apps einstellen.
2020-02-13_15h32_30

Haben Sie schon einmal mit Bots und Konnektoren gearbeitet? Oder eine andere Frage? Dann schreiben Sie einen Kommentar!

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular oder schreiben Sie einen Kommentar.

Sie wollen mehr über meine Leistungen erfahren? Dann klicken Sie hier.

Moden Sites Pages in SharePoint online deaktivieren

Modern Sites Pages sind eine im Sommer 2017 eingeführte Funktion in SharePoint online um Webseiten (Site pages) zu erstellen. Dies ist jetzt die Standardfunktion, d.h. wenn ein Benutzer eine neue Webseite erstellt, erstellt er eine Modern Sites Page. Auch wenn diese Seiten sehr interessant sind und viele spannende Möglichkeiten bieten, gibt es doch einige Nutzer welche die klassischen Wikiseiten bevorzugen. Dieser Blogartikel erläutert Ihnen wie Sie die statt Moden Sites Pages wieder herkömmliche Wikiseiten erstellten können. Die folgende Abbildung zeigt eine Modern Sites Page unmittelbar nach dem Erstellen.

Sie können die Funktion im Browser nur auf Ebene des Webs deaktivieren, nicht auf Ebene der Sitecollection. Gehen Sie dafür in die Websiteeinstellungen und dort in die Websitefeatures.

Suchen Sie dort das Feature Site Pages – Allows users to add new site pages to a site oder in Deutsch Websiteseiten – Gestattet Benutzern, neue Websiteseiten zu einer Website hinzuzufügen. Das war es dann auch schon.