Schlagwort-Archive: SharePoint

Microsoft PowerApps

18. Türchen

Microsoft bringt seine „Mobile first, Cloud first“ Strategie mit den PowerApps auf den Punkt. Denn nie war es so einfach, auch ohne sehr tiefe Entwicklerkenntnisse, Apps für Mobilgeräte zu entwickeln. Und selbst wenn man ein Windows Phone hat, wofür man die PowerApps auch leider noch nicht ausrollen kann, so emuliert zumindest die Cloud im Hintergrund ein User Interface, also würde es eine App sein, auch wenn es nur eine gerenderte Browser-Seite ist.

So wie wir uns gestern Microsoft Flow angeschaut haben, erfüllen die PowerApps im Prinzip den selben Zweck, nur haben wir gleich dazu eine App um die Funktionalität herum gebaut. PowerApps können dabei auf einem Flow aufbauen oder auch einen anstoßen. Apps können aber auch völlig andere Prozesse und Anwendungsszenarien abdecken, wovon Microsoft ein paar Beispiele zur Verfügung stellt. Heute möchte ich dazu ein Grundverständnis vermitteln und eine Beispiel-App erstellen.

Erstellung einer App aus SharePoint:

Zu sehr möchte ich nicht in die technische Tiefe gehen, weil wir dafür fast einen eigenen Adventskalender füllen könnten. Daher nutzen wir das einfachste Szenario und erstellen eine App direkt aus SharePoint – in diesem Falle aus unserer Geschenkeliste von unserem gestrigen Flow-Beispiel.

PowerApp erstellen

Dadurch öffnet sich in einem neuen Browser-Tab PowerApps und wir sehen, wie sich die App in einigen Sekunden selbst erstellt. Das bedeutet in diesem Beispiel, dass drei Standardansichten der App erzeugt werden und grundlegenden Funktionen hinterlegt werden, die ich für eine Liste benötige. Diese drei Ansichten sehen wir dann auf der linken Seite im PowerApps Tab, und zwar eine normale Ansicht der Listenelemente, eine Detailansicht und eine Ansicht zum Bearbeiten der Elemente. Die grundlegenden Funktionen, wie das Ändern, Löschen oder Hinzufügen neuer Elemente, sind auch bereits hinter den entsprechenden Buttons hinterlegt – wie einfach ist das denn? Wenn wir möchten, können wir nun natürlich mit dem Anpassen loslegen.

Anpassen einer PowerApp:

PowerApps anpassen Start-Tab

Mit Auswahl eines Buttons könnte man auf ihn zusätzliche oder andere Funktionen hinterlegen. Im Screenshot sehen wir, dass beim Klick eine NewForm Funktion aufgerufen wird, die auf dem Edit-Form (Code) basiert. Navigiert wird dann auch in diese EditForm, aber dabei wird nichts weiter übergeben („None“). Es wird also deutlich, wir nähern uns nun der Entwicklung an, auch wenn wahre Programmierer jetzt sicher noch schmunzeln…

Abhängig vom gewählten Reiter können wir weitere Schaltflächen, Texte, Steuerelemente, etc. hinzufügen. Auch Formulare, Medien und Diagramme können eingebaut werden, um noch mehr Funktionalitäten einzubauen.

PowerApps anpassen Einfügen-Tab

Beim Inhalts-Tab können wir – oder besser die Entwickler – dann richtig ins Detail gehen. Wir können weitere Datenquellen anbinden, um z.B. unsere Diagramme zu befüttern, können unsere Steuerelemente anpassen und im erweiterten Modus sogar auf die einzelnen Eigenschaften der Objekte zugreifen. Dies kannte ich sonst nur unter Visual Studio, aber finde diese Funktionalität nun auch direkt hier in den PowerApps Browser-Fenster.

PowerApps anpassen Inhalts-Tab

Da alles weitere aus meiner Sicht für unser heutiges Türchen zu sehr ins Detail gehen würde, so möchte ich nur zeigen, dass wir mit dem Aktions-Tab aber auch ganz einfach Aktionen ohne Entwicklerverständnis anpassen können – so können wir beispielsweise die Seitenübergänge verändern. So haben wir wenigstens etwas leicht angepasst. 🙂

PowerApp anpassen Aktions-Tab

Ausrollen der PowerApp:

So, und nun geht es daran, die App live zu schalten, damit wir sie und ihre Funktionen auch einsetzen können. Dafür vergeben wir der App zunächst einen Namen, Farbe und Symbol.

PowerApps ausrollen

Anschließend müssen wir angeben, für welche Nutzer wir die App ausrollen wollen. Hier greift PowerApps auf die Umgebung und Benutzerrollen zurück, die ich im 17. O365Adventskalender Türchen über Microsoft Flow erklärt hatte.

PowerApps freigeben

Sollte es bereits eine überarbeitete Version dieser App sein, kann ich mir in dieser Ansicht auch die Versionen anschauen und eventuell veraltete Versionen löschen.

PowerApps Versionen

Das soll nur der Information dienen, denn wir wollten nur die App abspeichern und live schalten, damit wir sie nun ausprobieren können. Wir navigieren also zurück zu unserer SharePoint Liste und finden die App nun unter den Ansichten. Ja genau, denn im Prinzip ist eine App auch in der Tat nur eine Art Ansicht von Elementen, die man bearbeiten kann. Facebook ist nichts Anderes!

Testen der App:

PowerApps anwenden

Obwohl wir die Apps aktuell nicht auf ein Windows Phone portieren können, so navigiere ich trotzdem zur entsprechenden Seite im Browser (NICHT in der SharePoint App!) und öffne dort nun diese App-Ansicht. In dem animierten Gif sehen wir, dass der Browser uns die PowerApp rendert und aufgrund der Ansicht wirkt es wie eine echt App. Zumindest funktionieren alle Schaltflächen so, wie wir sie uns eingestellt haben. Im Gif erstellen wir uns erst ein neues Geschenk, löschen ein anderes und genehmigen das Surface Studio.

PowerApp in Aktion

Das Ergebnis in SharePoint sieht so aus:
PowerApps Ergebnis in SharePoint

Im Hintergrund bekam ich auch eine Genehmigungsemail, denn der Flow von gestern läuft auch noch. Wir sehen also, wie wir Flow mit Apps kombinieren können. Zugegeben, dies ist ein wirklich einfaches Szenario, aber sind wir mal ehrlich: Ohne eine mobile SharePoint Ansicht oder der noch gar nicht so alten SharePoint App, wäre diese PowerApp zu dieser Liste ein echt großer Mehrwert. Generell ging die Bearbeitung der Aufgaben aus dem Gif schneller, als hätten wir direkt über SharePoint oder die SharePoint App gearbeitet. Und genau das ist Sinn und Zweck von Apps – eine Funktionalität anbieten. Ob dies Prozesse sind, Aufbereitung von Daten aus verschiedenen Quellen, eine Anmeldung zu Sportveranstaltungen oder Produktkataloge – mit den PowerApps können wir diese wirklich schnell und einfach erstellen.

Verwaltung eigener Apps:

Wenn man zu den PowerApps navigiert (im Browser oder in der Desktop-App), dann sehen wir zunächst die Apps, an denen wir kürzlich gearbeitet haben. Außerdem stellt Microsoft auf der Startseite der PowerApps viele Einführungsvideos und App-Beispiele zur Verfügung. Ich kann auch direkt mit dem Entwickeln einer App starten, wenn ich dies nicht aus einer bestimmten SharePoint Liste machen möchte.

PowerApps verwalten

Unter der Kategorie Apps sehe ich meine erstellten Apps und kann diese auch bearbeiten, wenn ich das möchte.

PowerApps bearbeiten

Dazu habe ich verschiedene Optionen, z.B. auch die Option, an wen die App ausgerollt werden soll, kann ich nachträglich ändern. Wir sehen aber auch, dass das Bearbeiten einer App im Browser möglich ist, aber auch eine Desktop-Anwendung wird zur Verfügung gestellt. Ich habe zwischen Browser und App keine großen Funktionsunterschiede festgestellt. Bei manchen Einstellungen, z.B. Verbindungen zu Datenquellen, wird man ohnehin zum Browser verlinkt.

PowerApps bearbeiten

Weiterhin können wir in der PowerApps-Ansicht auf der linkeen Seite einen Gateway einrichten, um eine Verbindung zu lokalen Apps herzustellen und auch unsere Flows von hier zentral zu verwalten. Zusätzlich können wir auch weiterer Entitäten und Auswahllisten einsehen, bearbeiten und erstellen, auf die wir in unseren Apps zurück greifen können. Diese Entitäten sind in unserer PowerApp/Flow Datenbank gespeichert, die für diese App-Umgebung angelegt wurde. Mit diesen Entitäten wird nun also ein weiterer Vorteil der verschiedenen Umgebungen klar, die ich bereits gestern erwähnt habe.

PowerApps Entitäten

Die Heimat der PowerApps – Dynamics 365:

Wichtig zu wissen ist noch, wo ich meine Apps her bekommen kann. Denn bisher haben wir immer nur unsere eigene App gesehen, was nicht weiter schwierig war. Wenn aber andere Kollegen oder die IT zentral Apps ausgerollt hat, kann ich diese – aber auch andere PowerApps – in „Dynamics 365“ finden, was die neue Heimat der Apps werden soll.

PowerApps Dynamics 365 Home

Wenn ich also auf „Weitere Apps abrufen“ klicke, dann bekomme ich bereits veröffentlichte professionelle Apps, kann nach bestimmten Kategorien filtern, aber sehe auch auf dem Reiter „My Organization“ die PowerApps, die in meiner Firma ausgerollt wurden. Von dort könnte ich auch die „richtigen“ Apps (und nicht nur das Browser-Rendering) für Android und iPhone herunterladen.

PowerApps Dynamics 365 Meine Apps

Ich hoffe, das gibt euch einen ersten guten Überblick über die PowerApps, was sie sind und können, was sie mit Flow zu tun haben und wie man sie erstellt und ausrollt. Ohne jegliche Anleitung hatte ich mich in ein bis zwei Tagen mit den grundlegenden Funktionen vertraut gemacht und brachte die ersten Apps zum Laufen. Das könnt ihr sicher auch, also probiert es aus! 🙂

Happy „SharePointing“!

Zur O365Adventskalender Übersicht

Microsoft Flow

17. Türchen

Der große Schock für alle Firmen, die sich auf Workflows spezialisiert haben, ist Microsoft Flow. In den letzten Jahren wurden Workflows von Microsoft sehr stiefmütterlich behandelt. Daher wurde Drittanbieter-Software für SharePoint Workflows sehr interessant. Mittlerweile hat Microsoft seinen „Bunker“ verlassen und hört wieder aktiv auf die Stimmen und Wünsche der Kunden. Und dies hat uns neben Groups, Teams, External Sharing und und und… auch die neue Workflow Technologie Flow gebracht.

Jeder kann im Prinzip einen Flow erstellen, wenn er dazu im Admin Center freigeschaltet wurde. GANZ wichtig zu wissen, aktuell ist ein Flow an den Mitarbeiter gebunden. Verlässt also dieser das Unternehmen, ist auch sein Workflow weg. Da kann man nur hoffen, dass sich dies ändert. Denn während beim Abgang eines Entwicklers das KnowHow wegging, aber seine entwickelten Programme logischer Weise zunächst weiter funktionierten, so wäre allerdings ein Szenario, wie aktuell mit Flow, der Supergau.

Aber wie erstellen wir uns nun einen Flow? Dazu müssen wir nur die entsprechende Flow Kachel im Office 365 App Launcher klicken und wir gelangen zu unserer Flow Übersicht, in der wir alle Workflows sehen, die wir bereits erstellt haben. Von dort aus können wir einen komplett neuen Flow erstellen oder wir starten von einer Vorlage.

Flow Übersicht

Bei bereits erstellten Flows kann man mit einem Klick auf das „i“-Symbol sogar eine kleine Protokollierung erhalten. Diese zeigt an, wann der Flow schon ausgeführt wurde, ob er erfolgreich durchlief oder nicht.

Flow Reporting

Und falls letzteres der Fall war, erfahren wir auch warum der Durchlauf nicht erfolgreich war und in welchem Block oder Bedingung es zu einem Fehler kam. Also ein echt gutes Reporting, um auch die Funktionen meiner Flows zu überwachen.

Flow detaillierte Protokollierung

Aber wir starten nun mit der Erstellung eines neuen Flow und ich würde zum Anfang empfehlen, dies mit einer Vorlage zu machen, um zu verstehen, wie das Ganze funktioniert. Außerdem haben wir unzählige Vorlagen zur Verfügung, die bereits für ganz viele Anwendungsszenarien konfiguriert sind und nun nur noch mit unseren Daten gefüttert werden müssen. Wir sehen am Scroll-Balken, aus welchem Blumenstrauß an Flows wir wählen können.

Flow Auswahl

Wir entscheiden uns für einen Genehmigungs-Flow, den wir auch noch speziell anpassen werden. Es geht nämlich um Weihnachtsgeschenke mit einem bestimmten Preis. Werden solche in die Liste eingestellt, möchte ich dies per Email genehmigen können, ob das Geschenk gekauft werden darf oder nicht. Ähnlich einfach kann man so Urlaubsanträge oder Reisekosten abwickeln.

Verbindung zu den Flow Diensten:

Flow Verbindung herstellen

Zu Beginn müssen wir mit unserem Konto eine Verbindung zu den Diensten herstellen, die wir nutzen möchten. Für unser Szenario ist das nur SharePoint und Outlook Online. Aber wir könnten auch Twitter, Box, JIRA und und und mit in unseren Flow integrieren.

Flow VerbindungskontenFertige Flow-Blöcke bearbeiten:

Klicken wir auf Weiter, so gelangen wir in die logischen Details des Workflows. Zunächst würde ich empfehlen, am oberen Rand den Namen zu ändern, damit wir ihn später leichter wiederfinden. Jeden Block können wir nun weiter ausklappen und zusätzliche Details anzeigen lassen und Informationen eingeben. Beispielsweise gebe ich hier meine SharePoint Seite und eine darin enthalte Liste an, auf die ich mich mit diesem Flow beziehen möchte. Ich kann außerdem weitere Blöcke, Aktionen, Bedingen etc. hinzufügen und auch wieder löschen. Es ist wirklich sehr einfach und erinnert stark an die Drag-and-Drop Funktionalität von Nintex.

Flow bearbeiten

Innerhalb der Blöcke können wir ganz einfach bestimmte Eigenschaften aus unserer verbundenen Liste referenzieren, die z.B. besonders bei WENN-DANN-Bedingungen hilfreich sind. Für unsere Genehmigungs-Email kann ich also nicht nur den Titel (Name des Geschenks), sondern auch den Preis als Spaltenwerte mit auslesen und in der Email angeben.

Flow Referenzvariablen

Weitere Aktionen und Funktionen einfügen:

Wir wollen nicht nur, dass einfach eine „Genehmigt“-Email an den Ersteller eines SharePoint Elements gesendet wird, sondern wir wollen auch den Status dieses Elements automatisch aktualisieren. Somit fügen wir nun unserer Flow-Vorlage eine weitere Aktion hinzu – der Einfachheit halber nur bei Genehmigung, bei Ablehnung passiert für unser Beispiel erst einmal nichts.

Flow Aktion hinzufügen

Als neue Aktion können wir nun aus allen möglichen Diensten und Aktionen auswählen. Somit könnten wir den zu Anfang gewählten SharePoint und Outlook Online Diensten noch weitere hinzufügen und so ganz einfach eine Flow Vorlage weiter anpassen. Sicherlich kann auch ein extrem spezieller Wunsch dabei mal offenbleiben, aber ich habe wirkliche viele Aktionen gefunden, die eine Menge Anwendungsszenarien abdecken werden. Und das Schöne daran, diese sind wirklich ganz einfach anzupassen ohne viele Entwicklerkenntnisse. Mein Tipp, nicht nur nach eurer gesuchten Aktion scrollen, sondern explizit den Dienst im Suchbegriff angeben, denn ohne diese Eingabe werden nicht alle möglichen Aktionen je Dienst in der standardmäßig geladenen Drop-Down-Liste angezeigt. Meine Aktion „Element aktualisieren“ kam auch erst nach Eingabe des Produkts „SharePoint“.

Flow Dienst suchen

In unserem Beispiel möchten wir nur den Status ändern und belassen daher die anderen Spaltenwerte, wie sie ausgelesen werden. Wenn man möchte, kann man auch hier noch mehr Logik integrieren, sollte man z.B. den Preis anpassen bei einer Ablehnung. (Oder bei einer abgelehnten Urlaubsanfrage noch eine Begründung schreiben, die dann dem Element hinzugefügt wird).

Flow Dienst bearbeitenWenn dies erledigt ist, speichern wir den Flow oben rechts ab. Als nächstes erstellen wir uns ein paar Geschenkewünsche in unserer List.

Flow SharePoint Liste

Dazu erhalten wir die entsprechenden Emails, wie im Flow konfiguriert.

Flow Genehmigungs-Email

Das dazu erzeugte Element (Geschenk) können wir nun direkt in der Email genehmigen oder ablehnen. Ich genehmige mir einmal das Surface Book und sehe anschließend den aktualisierten Status in meiner SharePoint-Liste.

Flow genehmigte SharePoint Liste

War das nun kompliziert? Ich denke nein. Sicherlich muss man sich erst daran gewöhnen und besonders bei speziellen Anforderungen kann man schon etwas ins Schwitzen kommen. Aber für nicht zu komplexe Unternehmensprozesse kann man Flow echt gut einsetzen. Mal sehen, wohin sich dieses Produkt weiter entwickelt.

Als Administrator kann man auch hier lediglich ein paar Einstellungen vornehmen. Das ist einerseits ein Vorteil, weil es einfach funktioniert. Aber andererseits kann dies auch ein Nachteil sein, wenn man wenig beeinflussen kann. Zwei Dinge möchte ich erwähnen, die man sich als Administrator anschauen sollte.

Zum einen kann ich verschiedene Umgebungen konfigurieren, denen eine eigene Flow Datenbank zur Verfügung gestellt wird. Dies ist Vorteilhaft, um z.B. Entwickler-Flows von den produktiven zu trennen.

Flow Umgebungen

Ein weiterer Vorteil dieser Umgebungen ist der zweite Punkt für Administratoren – nämlich das Anwenden von Richtlinien. So kann ich bestimmten Umgebungen untersagen, dass sie sich z.B. nicht per Flow mit Salesforce oder Box verbinden können.

Flow Datengruppen

Teil einer Richtlinie sind auch Berechtigungseinstellungen. Also bestimmte Rollen, aber auch einzelne Rechte, die Nutzer haben können, ähnlich wie wir es aus SharePoint kennen.

Flow Berechtigungen

Mit diesen Richtlinien habe ich also einerseits die Möglichkeit, bestimmte Dienste nicht zur Verfügung zu stellen und andererseits kann ich granulare Rechte und Rollen vergeben, um Nutzer bei der Erstellung von Flows etwas einzuschränken. Dies ist sehr sinnvoll, um meine Unternehmensdaten zu sichern und damit sie nicht ungewollt per Flow in den unzähligen verschiedenen anderen Diensten erzeugt werden.

Auch wenn Microsoft Flow aktuell bereits sehr gut funktioniert und wichtige Konfigurationen bietet, so ersetzt es meiner Ansicht nach noch nicht den Funktionsumfang der etablierten Workflow-Anbieter. Wir können aber gespannt sein, was da noch auf uns zukommt!

Happy „SharePointing“!

 Zur O365Adventskalender Übersicht

Office 365 Teams

16. Türchen

Gerade noch haben wir versucht, uns an die neuen Office 365 Groups zu gewöhnen, da schiebt Microsoft schon die nächste Kollaborationslösung nach – und zwar Teams. Mir persönlich gefällt dieser Ansatz wirklich am besten, weil er am Desktop am meisten ausgereift wirkt, auch wenn es eigentlich das jüngste Produkt ist. Dies gilt aber nicht für die Windows Mobile App, denn da funktionieren die Groups besser.

Aber auch hier fangen wir von vorne an. Während man Groups von nahezu überall erstellen kann, ist dies mit Teams nur aus der App oder Browserversion von https://teams.microsoft.com möglich – und zwar von der Teams „Startseite“, wo alle Teams aufgelistet werden, die ich abonniert habe.

Office 365 Teams

Von dieser Startseite kann ich mein Team mit gewohnten Optionen anpassen, weitere Programme über „Connectors“ anbinden (ebenso wie bei den Groups) und auch neue „Kanäle“ erstellen. In den Teams würde ich dies als verschiedene Ansichten verstehen. Öffne ich die Teams SharePoint-Seite, dann sehe ich in den Dokumenten neu erstellte Unterordner zu meinen Kanälen. Ein nützlicher Anwendungsfall der Kanäle wäre beispielsweise die Abbildung einer Unternehmensstruktur: So kann es ein Marketing Team weltweit geben, aber darunter sind die Kanäle für Deutschland, Frankreich, Großbritanien, etc. aufgehängt, um die spezielle Eigenarten der Ländern dort zu bündeln.

Office 365 Teams Seite

Klicke ich nun in der SharePoint-Ansicht auf „Group Conversation“, so gelange ich zur ganz normale Office 365 Groups Ansicht, wie wir sie bereits vor zwei Tagen behandelt haben.

Office 365 Teams Group Ansicht

Dies macht deutlich, dass jedes Team auch eine ganz normale Office 365 Group ist – mit all den bekannten Funktionen, wie auch Planner. Aber nicht jede Office 365 Groups ist auch gleichzeitig ein Team! Dieser Unterschied ist wichtig! Denn meiner Meinung nach bietet Teams noch ein paar Funktionen mehr für zusätzliche Anwendungsfälle. Schauen wir uns diese also an.

Im User Interface finden wir ganz links oben unser Benutzerfoto, hinter dem sich einerseits all unsere Aktivitäten verbergen. Auf der anderen Seite kann ich auch Chat-Nachrichten markieren bzw. als eine Art Favorit speichern , um sie dann in dieser Ansicht angezeigt zu bekommen.

Office 365 Teams My Site

Unter unserem Profilfoto finden wir die letzten Aktivitäten in meinem Team und Kanal oder auch Benachrichtigungen, ob ich in einem Beitrag markiert oder erwähnt wurde. Auf dieser Seite sehen wir auch unten eine kleine Chatbox. Ich kann in den Teams nämlich von überall Notizen und Dateien an das Team versenden oder sogar direkt ein Skype Meeting starten. Hier sehen wir einen deutlichen Vorteil gegenüber Groups. Mit Ausnahme der SharePoint-Seite selber, ist sonst alles in das Teams Interface intergiert, man muss nicht von Browser Tab zu Tab springen oder extra Skype haben, um chatten zu können. Skype als Anruf oder Video ist zwar noch nicht direkt im Browser integriert, soll aber bald kommen. In der Client-Version ist dies aber bereits möglich.

Office 365 Teams Aktivität

Im Reiter Chat kann ich mit den Kollegen des Teams oder auch anderen einen Chat aufbauen. Im Screenshot seht ihr, dass darauf hingewiesen wird, dass Skype zwar schön und gut ist, für Teams aber offensichtlich eine eigene Chat (und auch Anruf + Video) Technologie genutzt wird.

Office 365 Teams Chat

Noch einmal zurück auf dem Teams Tab (Startseite) sehen wir, dass ich je Team und Kanal zusätzliche Registerkarten hinzufügen kann. So z.B. auch ganz einfach den Planner oder weitere Verbindungen zu anderen SharePoint Seiten, Groups etc.

Office 365 Teams Registerkarten

Office 365 Teams Connector

Der Reiter Termine ist wieder selbst erklärend. Dort erstelle ich einfach nur Termine, wie in Outlook und lade Kollegen ein. Leider sind noch keine Serientermine möglich, aber ich hoffe, dass dies bald nachgezogen wird. Teams wäre dann aus meiner Sicht das perfekte Werkzeug für das Team-Management oder auch kleinere Projekte wie Ausschreibungen oder Proof of Concepts.

Office 365 Teams Termine

Auf dem letzten Tab sehe ich noch alle meine Dateien. Dies ist aktuell nur sehr grob gefiltert nach a) allen Dateien, b) Dateien, die per Teams geteilt wurden oder c) alle meine OD4B Dateien.

Office 365 Teams Dateien

In der Windows App – also keine App, sondern wirklich eine Desktop-Anwendung – habe ich sogar noch eine Ansicht aller hochgeladenen Dateien. In dieser App funktioniert außerdem schon der Videoanruf (wenn die Englische Sprache eingestellt ist – noch nicht in Deutsch möglich). Ansonsten habe ich aktuell keine weiteren Unterschiede festgestellt. Aber mit diesem Screenshot aus der Desktop App sieht man echt schön, welchen Anwendungsfall ich mir mit diesem Tool sehr gut vorstellen kann: mitten in einer Konferenz über Video, könnte in Echtzeit neue Aufgaben im Planner zuweisen und weitere Notizen im Teams-eigenen OneNote machen. Außerdem hat jeder Zugriff auf alle geteilten Ressourcen und alle Chats und Notizen werden protokolliert und und und… Ihr merkt schon, ich bin echt begeistert von diesem Tool.

Office 365 Teams App

Das einzige, was noch etwas Verbesserungsbedarf verdient, ist die Windows Mobile App. Dort sehe ich aktuell nur meine Teams, jüngste Aktivitäten und kann Chatten. Auf hochgeladene Dateien aus meinem Chat habe ich noch nicht einmal Zugriff.

Office 365 Teams Mobile App Start   Office 365 Teams App Chat

Das ist aktuell bereits deutlich besser in der Office 365 Groups App (auch für Windows Phone 😉 ) realisiert worden. Aber wie dem auch sei, Microsoft hat es wunderbar verstanden, die bereits existierenden Werkezuge so zu kombinieren, dass sie extrem einfach und intuitiv für Endbenutzer anzuwenden sind. Auch ich habe schon einige Anwendungsfälle, bei denen ich Teams in Zukunft nutzen möchte.

Einen letzten Blick wollen wir noch darauf werfen, was Administratoren machen können. Dies ist über das User Interface zwar mehr, als bei den Groups, aber mir fehlt beispielsweise, dass ich Teams aktuell noch nicht mit Externen teilen kann. Im Screenshot sehen wir, dass wir Funktionen, die ich vorhin noch gelobt habe (z.B. Videoanrufe, zusätzliche Registerkarten einfügen), auch abschalten können.

Office 365 Teams AdministrationEin paar weitere Einstellungen sind möglich, aber jetzt nicht wirklich weltbewegend. Ich denke, dass Microsoft hier noch weitere Optionen und Funktionen in naher Zukunft hinzufügen wird. Ich freue mich schon darauf! Damit ihr direkt loslegen könnt, müsst ihr also nur die Teams im Admin Center eures Tenants aktivieren und dann unter https://teams.microsoft.com euer erstes Team erstellen. Die dazugehörigen Apps und Desktop-Anwendungen gibt es zum Download hier:
https://teams.microsoft.com/downloads

Happy „SharePointing“!

 Zur O365Adventskalender Übersicht

Office 365 Groups

14. Türchen

Seit wenigen Monaten hat Microsoft die Office 365 Groups eingeführt. Grund genug, dass wir uns diese im Rahmen des O365Adventskalenders genauer anschauen.

Im Prinzip sind die Groups eine Gruppierung der Microsoft Produkte, die man mit O365 nutzen kann. Ziel ist aber natürlich, Freunde und Kollegen zu gruppieren, damit sie effizienter gemeinsam an Projekten und anderen Aufgaben arbeiten können. Dafür packt Microsoft gleich einen Blumenstrauß an Funktionen in eine O365 Group. Wenn ich euch nun aufzähle, von wo wir überall eine Group erstellen können, dann wird schnell klar, was alles zu einer Group dazu gehört. Also, von wo aus kann ich eine Gruppe erstellen:

  1. O365 Administration Portal unter Groups
  2. Outlook Web Client und Outlook Client unter „New Item“ oder Rechtsklick auf die Gruppe
  3. People (und eigentlich bei allen Office Anwendung mit entsprechender linker Spalte, siehe erster Screenshot)
  4. SharePoint Sites
  5. Planner

In Anlehnung an diese Aufzählung sehen wir also, dass wir für die berechtigten und eingetragenen Nutzer (O365 Administration) einen eigenen Ort mit eigener Groups-Email-Adresse (Outlook) bekommen, um Diskussionen innerhalb dieser Gruppe zu führen. Weiterhin erhalten wir einen Gruppen-Kalender (Office Kalender) und können Dateien hochladen und teilen (SharePoint).

01-groups

Darüber hinaus haben wir ein gemeinsames Notebook sowie Planner für Aufgaben ist integriert und sogar eine komplett eigene SharePoint Site Collection (wenn SharePoint im O365 Plan enthalten ist) wird pro Gruppe angelegt. Und wem das alles noch nicht reicht, der kann die Gruppe mit noch weiteren Programmen verbinden unter „Connectors“, wo wir beispielsweise Wunderlist, JIRA oder Twitter finden.

02-groups

Eine Verknüpfung mit Twitter, um Tweets bestimmter Nutzer oder #-Themen in die Gruppe zu intergieren geht wirklich super einfach, indem man einfach nur einen Twitter Account verlinkt. (Es ist fast schon zu einfach) 😉

03-groups

Zu guter letzt ist natürlich auch noch Skype integriert, damit man direkt in der Gruppe mit Mitgliedern chatten kann.

04-groupsBeim Erstellen einer neuen Gruppe ist das User Interface – zumindest vom Inhalt – identisch, egal von wo man kommt. Dies verdeutlicht, dass man wirklich immer eine O365 Group bekommt, egal von wo man sie beantragt. Im ersten Schritt vergibt man dabei einen Gruppennamen, sowie eine interne Gruppen-ID, welches dann auch gleich die Email-Adresse ist. Außerdem kann man entscheiden, ob die Gruppe öffentlich innerhalb des Unternehmens sein soll oder nur Mitglieder der Gruppe diese sehen können. Im zweiten Schritt kann man optional direkt Mitglieder in die Gruppe einladen.

Erstellung im Outlook Client:

05-groups   06-groups

07-groups

Erstellung im Office 365 Admin Center:

08-groups

Erstellung im Outlook Web:

09-groups

Erstellung über SharePoint Seiten:

11-groups

All das ist aus meiner Sicht sehr selbst erklärend. Auch wenn eine Gruppe erstellt ist, sind die Optionen einfach und schlicht. Ich erreiche meine Gruppen aus den verschiedenen Programmen, weil sie dort aufgelistet sind. Innerhalb der Gruppen ist auf dem ersten Screenshot schön zu sehen, dass es einen kleinen Trennstrich gibt, der die verfügbaren Programme in zwei Gruppen teilt. Alles links des Strichs öffnet sich direkt im Gruppenfenster. Alles rechts macht einen neuen Tab auf, weil dies noch nicht so gut in die Gruppenansicht integriert werden konnte.

33-groups

Weitere Optionen zur Gruppe finde ich einerseits mit einem Klick auf den Titel:

12-groups

Weitere Optionen, um z.B. auch das Logo der Gruppe zu ändern, gibt es mit einem Klick auf das Einstellungszahnrad:

13-groups

Um eine Gruppe wieder löschen zu können, müssen wir über obige Einstellungen navigieren und dann die Gruppe editieren. Auf der einfliegenden Editierungsfläche finden wir dann ganz unten den Link zum Löschen.

Viel mehr kann man aber zu den Groups nicht sagen. Da ihr ja bereits wisst, was Outlook, OneNote, SharePoint, Skype, etc. kann. Die Integratin all dieser Produkte ist eines – Groups – ist selbsterklärend, einfach und zusätzlich in fast jeden Ort in Office 365 intergiert. Ich habe mich sehr schnell zurechtgefunden und es funktionierte alles wirklich reibungslos.

Auch von der Windows Mobile App bin ich sehr überzeugt. Diese bietet wirklich viele Funktionen, um auch in den Groups von unterwegs auf dem Laufenden zu bleiben. Beim Öffnen sehe ich sofort alle Groups, die ich abonniert habe und beim Klicken auf einer sehe ich die letzten Aktivitäten und kann per Chatnachricht direkt darauf antworten, wenn ich möchte.

14-groups   15-groups

Dabei kann ich auch Dateien hochladen und habe auch von der App aus Zugriff auf diese Dateien.

16-groups   17-groups

Ebenso einfach kann ich neue Gruppentermine und Aufgaben einstellen sowie zuweisen. Werden von anderen Personen Aufgaben oder Termine erstellt, dann kann ich diesem auch in der App direkt zustimmen und sie in meinem Kalender speichern.

18-groups   19-groups

Für mich würde da aktuell nichts fehlen und ich könnte wirklich gut damit auch von unterwegs arbeiten. Nur eine Kleinigkeit vielleicht. Geteilte Dateien kann ich nur als Kopie herunterladen und dann bearbeiten. Dies ist in der nativen SharePoint App besser umgesetzt, weil ich da bereits direkt die Office Anwendungen verknüpft habe und so noch einfacher von unterwegs an Dokumenten arbeiten kann.

Aus Sicht der Administratoren, wie wir, gibt es aktuell noch nicht viel, das wir für die Office 365 Groups beeinflussen können. Nur auf zwei Punkte möchte ich für Administratoren hinweisen:

  1. O365 Groups Site Collections werden unter dem selben Managed Path angelegt (/sites/) wie eure anderen Site Collections, die ihr über die SharePoint Administration verwalten könnt (siehe 12. O365Adventskalender Türchen) Allerdings tauchen die Site Collections der O365 Groups dort nicht auf. Daher scheint Quota und Storage ja fast schon egal zu sein. Was ist aber mit einem Backup, denn das Löschen geht echt flott und nativ gibt es derzeit keine Möglichkeit, diese Informationen wiederherzustellen. Drittanbieter Software kann hier aber bereits helfen.
  2. Um O365 Groups überhaupt nutzen zu können, müssen Tenant Administratoren diesen Service zuvor im Admin Center freischalten.
    20-groups
    Dort können wir auch bestimmen, ob Inhalte der Gruppe auch von eingeladenen Externen gesehen werden können oder nur Dateien, die direkt mit ihnen geteilt wurden. Außerdem können Administratoren einstellen, ob überhaupt Externe in Gruppen eingeladen werden können.
    21-groups

Das soll es aber auch schon gewesen sein. Wie und wofür setzt ihr O365 Groups ein? Ich freue mich über eure Kommentare.

Happy „SharePointing“!

O365 Ressourcen und Quotas

12. Türchen

Halbzeit! Nur noch zwölf Türchen und schon steht der Weihnachtsmann vor der Tür. Als kleines Schmankerl vorweg empfehle ich den NORAD Santa Tracker, mit dem ihr am Heilig Abend Santa in Echtzeit verfolgen könnt, wo er grad auf der Welt Geschenke verteilt. Aber auch zum Stöbern in der Vorweihnachtszeit ist dies eine nett gemachte Seite, um das Warten auf Santa etwas zu verkürzen.

Genau dafür ist auch unser O365Adventskalender gedacht. Und wie auch Santa nur begrenzte Ressourcen hat, so haben wir dies auch in Office 365.

01-resources

SharePoint Server Ressourcen:

Microsoft möchte – aus verständlichen Gründen – keine harten Zahlen zu ihren verwendeten CPU oder Arbeitsspeicherleistungen machen, bzw. wie viel ein Kunde aktiv nutzt. Stattdessen wird dies vage mit Hilfe der verfügbaren Ressourcen angegeben, sodass die tatsächliche CPU und Arbeitsspeichernutzung geheim bleibt.

Diese Ressourcen werden hauptsächlich beansprucht, wenn man seine Site Collections angepasst hat oder sogar Sandboxed Solutions (kein Code, sondern XML-Definitionen) darauf laufen hat. Denn wenn diese Extradefinitionen und Anpassungen verarbeitet werden, müssen zusätzlichen Serverressourcen beansprucht werden. Die Ressourcenangabe ist also im Prinzip zusätzliche Rechenleistung über die normale O365 Team Site Nutzung hinaus. Hat man also keinerlei dieser Anpassungen oder möchte nicht, dass diese laufen, dann setzt man die Ressourcen einfach auf null. Keine Sorge, eine normale Team Site mit null Ressourcen lädt ganz normal und zügig, wie wir es gewöhnt sind. Achtet also darauf, dass ihr die Ressourcen geschickt verteilt, denn normale Team Sites brauchen nichts davon.

Warum muss ich die Ressourcen überhaupt verteilen? Wie im 2. O365Adventskalender Türchen bereits beschrieben, teilen wir uns in Office 365 die Server Ressourcen von Microsoft mit anderen Kunden. Daher müssen diese limitiert werden, damit ein Kunde nicht den anderen mit intensiven Rechenleistungen beeinträchtigt. Nach aktuellen Stand errechnen sich die verfügbaren Ressourcen wie folgt:

Verfügbare Ressourcen
=
Anzahl lizensierter Nutzer x 200 + 300 je Tenant

Wie kann man die Ressourcen nun verteilen? Als erstes empfehle ich, dass man beim Erstellen neuer Site Collections die Quota sehr gering wählt oder bei Standard Team Sites sogar ganz auf null setzt.

02-resources

Die Standardeinstellung ist nämlich 300 und damit haben wir schnell die verfügbaren Ressourcen aufgebraucht.

03-resources

Das nachträgliche Ändern der Ressourcen bei bereits existierenden Site Collections ist auch ganz einfach. Wir müssen nur die entsprechende Site Collection auswählen und dann in der Ribbon die Server Resource Quota wählen.

04-resources

In dem sich öffnenden Dialog können wir nicht nur die zugewiesenen Ressourcen ändern, sondern auch eine Erinnerung einstellen, dass bei Erreichen eines prozentual eingestellten Grenzwertes für das Site Collection Ressourcen-Limit eine Email an den Primary Site Collection Administrator versendet wird.

05-resources

 

Storage Quota:

Von unseren On-Premises Versionen sind uns sicherlich die Site Collection Quotas bereits vertraut. Die Rede ist von der Limitierung von Speicherplatz pro Site Collection. Ähnlich wie bei den Ressourcen wählen wir eine Site Collection aus und weisen ihr ein Speicherlimit zu. Ebenso kann ich eine Email-Benachrichtigung einstellen. Das gleiche gilt auch beim Erstellen von neuen Site Collections. Im Vergleich zu On-Premises Quotos gibt es hier also keine Unterschiede.

Interessant wird es aber beim Storage Modell, das in den Einstellungen des SharePoint Online Administrations Centers konfiguriert werden kann. Manuell zugewiesene Grenzwerte stellen das alte klassische Modell dar, bei dem ein Administrator manuell die Storage Quotas einstellen und überwachen muss. Das seit 2015 eingeführte „Pooled Storage“ Modell ist hingegen dynamisch und automatisch. Damit wird erst einmal grundsätzlich das Limit jeder Site Collection auf 1 TB gesetzt und SharePoint Online weist im Hintergrund den nötigen Speicherplatz automatisch zu und passt ihn an.

07-resources

Dies ist zwar sehr komfortabel, kann aber auch dazu führen, dass Mitarbeiter weniger über den Speicherplatz nachdenken und unzählig viele Daten hochladen. Gut für Microsoft und die O365 Consumption, aber schlecht für unseren Geldbeutel.

Der verfügbare Speicherplatz für meinen Tenant errechnet sich nämlich wie folgt:

Speicherplatz = 1 TB + 0,5 GB je Nutzerlizenz

Diesen Speicher kann man sehr einfach erweitern – unter Angabe der Kreditkartennummer natürlich. Wie das geht, ist in diesem Microsoft Blog sehr schön mit Screenshots dargestellt:

https://support.office.com/de-de/article/%c3%84ndern-von-Speicherplatz-f%c3%bcr-Ihr-Abonnement-96ea3533-de64-4b01-839a-c560875a662c?ui=de-DE&rs=de-DE&ad=DE

Außerdem findet ihr weitere Details zu Speicher- und anderen Grenzwerten für euren SharePoint Online hier:

https://support.office.com/de-de/article/SharePoint-Online-Softwaregrenzwerte-und-beschr%c3%a4nkungen-8f34ff47-b749-408b-abc0-b605e1f6d498?ui=de-DE&rs=de-DE&ad=DE#__toc351043094

In den SharePoint Online Einstellungen (letzter Screenshot oben) findet ihr außerdem noch eine Reihe weiterer nützlicher Konfigurationen für SharePoint. Schaut es euch einfach mal an und probiert es aus.

Happy „SharePointing“!

 Zur O365Adventskalender Übersicht

SharePoint zu O365 Migration

11. Türchen

Unsere FileShare Daten haben wir schon in der Cloud. Gestern haben wir mit dem eDiscovery Workaround versucht, unseren SharePoint und die darin gespeicherten Daten etwas besser zu verstehen. Mit dem heutigen Beitrag, wie wir mit PowerShell unseren SharePoint nach Office 365 migrieren, finden wir das letzte Puzzle-Teil, um Daten mit nativen Mitteln in die Cloud zu bekommen. Grundsätzlich muss man dann also das große Projekt Office 365 Migration nicht mehr länger vor sich her schieben.

Bevor es aber losgeht, müssen wir bei der SharePoint Migration über die High Speed Migration API noch ein paar Dinge beachten:

  1. Das größte mögliche Migrationspaket kann maximal eine Dokumentenbibliothek (inkl. Ordnerstruktur) umschließen. Eine Site Collection und/oder Subseiten Struktur muss ich also zuvor manuell nachbauen
  2. Die Migration wird nur für SharePoint 2013 und 2016 unterstützt
  3. Bibliotheken und Datenvolumen mit mehr als 15 GB sind nicht möglich
  4. Anpassungen (Solutions, Vorlagen, Apps, etc.) sind auch nicht möglich
  5. die Limits bei der FileShare Migration kommen auch noch dazu

Ansonsten läuft der Prozess identisch zur FileShare Migration ab. Nur ganz wenige PowerShell Befehle unterscheiden sich. Fassen wir das ganze also kurz zusammen.

Voraussetzungen:

  1. Microsoft Azure Login Assistent und PowerShell Module installieren
  2. SharePoint Online PowerShell Modul installieren und laden
  3. Azure Speicherkonto
  4. O365 Tenant mit Administrator-Konto – logisch
  5. Azure Storage Explorer als netter Zusatz für das Überwachen des Prozesses

Ablauf der SharePoint Online Migration:

1. Verbindung zu O365 herstellen

  • $Creds = Get-Credentials
  • Import-Module Microsoft.Online.SharePoint.PowerShell -ErrorAction SilentlyContinue
  • Connect-SPOService -Credential $Creds -Url https://yourdomain-admin.sharepoint.com

2. Migrationspaket erstellen

Add-PSSnaping Microsoft.SharePoint.PowerShell

  • $QuellPfad„\\Server\C`$\SP-O365-Migration“
  • $QuellPaketPfad = „\\Server\C`$\SP-O365-Migration\Quellpaket“
  • $ZielPaketPfad = „\\Server\C`$\SP-O36-5Migration\Zielpaket“
  • $Zielweburl = „https://yourdomain.sharepoint.com/sites/yoursite“
  • $Zielbibliothek = „SharePointMigration“
  • #$OptionalZielOrdner = „OnlineMigration“

Export-SPWeb -Identity „http://onpremwebapp/sites/Sitename“ -ItemUrl „Quellbibliothek“

3. Migrationspaket konvertieren

  • ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $QuellPfad -SourcePackagePath $QuellPaketPfad -OutputPackagePath $ZielPaketPfad -TargetWebUrl $Zielweburl -TargetDocumentLibraryPath $Zielbibliothek -TargetDocumentLibrarySubFolderPath $ZielOrdner -Credentials $Creds

4. Paket zum Azure Storage hochladen

  • $PayloadContainer = „sharepointpayload“
  • $PaketContainer = „sharepointpaketcontainer“
  • $AzureWarteschleife = „sharepointupload“
  • $azureKontoame = „robtheninja“
  • $AzureStorageKey = „hierdeinazurekey==“
  • $SPUpload = Set-SPOMigrationPackageAzureSource –SourceFilesPath $QuellPfad –SourcepackagePath $ZielPaketPfad –FileContainerName $PayloadContainer –PackageContainerName $PaketContainer –AzureQueueName $AzureWarteschleife –AccountName $AzureKontoName -AccountKey $AzureStorageKey

5. Migration starten

  • Submit-SPOMigrationJob –TargetwebUrl $Zielweburl –MigrationPackageAzureLocations $SPUpload –Credentials $Creds

Wir sehen, den einzigen Unterschied zwischen FileShare und SharePoint Migration über die HSM API finden wir in Punkt zwei, nämlich einerseits das Laden der SharePoint On-Premises PowerShell Befehle (Add-PSSnapin) und andererseits wie das Paket erzeugt wird (Export-SPWeb). Diese beiden Befehle habe ich aus der Aufzählung raus genommen und zentriert, um deutlich zu machen, dass dies tatsächlich der einzige Unterschied zur FileShare Migration ist. Der Rest ist identisch (sofern ihr mit Variablen arbeitet). Übrigens, bei dem SharePoint Export-Befehl können wir auch die gewohnten Switches verwenden, wie z.B. „IncludeVersions 4“.

Wie hat es bei euch mit der Migration geklappt geklappt? Lasst es mich wissen. Ich hoffe genauso unkompliziert, wie bei mir.

Happy „SharePointing“!

Zur O365Adventskalender Übersicht

SharePoint Datenklassifizierung

10. Türchen

Um gleich zu Anfang eine wahrscheinlich sehr große Erwartungshaltung zu dämpfen, eine automatische Klassifizierung von Dokumenten in SharePoint ist mit nativen Mitteln aktuell praktisch nicht möglich. Wir können nur PowerShell Skripte schreiben oder 3rd Party Anbieter verwenden. Daher soll euch der heutige Beitrag nur einen Workaround liefern, wie ihr dennoch identifizieren könnt, welche Daten in die Cloud können und welche nicht.

Ein nützliches Feature, das mit der SharePoint Enterprise Edition geliefert wird, nennt sich eDiscovery. Der eigentliche Zweck ist, dass eine SharePoint Farm nach bestimmten Suchbegriffen abgesucht wird. Alle gefundenen Treffer können nicht nur protokolliert werden, sondern die dazugehörigen Daten können auch direkt exportiert werden oder vor Änderungen geschützt werden, damit sie in ihrer originalen Form erhalten bleiben. Diese Daten könnte man dann als Beweis in einem Rechtsstreit verwenden, um z.B. bei einer Patentsverletzung zu zeigen, dass man schon länger an einer entsprechenden Lösung arbeitet, weit bevor ein Konkurrent ein Patent angemeldet hat.

Die eDiscovery beruht auf der SharePoint Suche und damit können wir nicht nur die offensichtlichen Begriffe, wie Dokumententitel, suchen, sondern auch nach dem wirklichen Inhalt der Dokumente. Dies ist entscheidend, um beispielsweise Dokumente zu identifizieren, die in ihrer Fußzeile das Wort „vertraulich“ als Indiz für die Sensibilität stehen haben.

Erstellung einer eDiscovery Query:

Bevor wir unsere Farm nach sensiblen Daten absuchen können, müssen wir eine Site Collection mit der Enterprise Vorlage „eDiscovery Center“ erstellen. Auf dieser Seite können wir dann einen neuen Fall erstellen. Jeder Fall, der aus eDiscovery Sets, Queries und Exporten bestehen kann, stellt dann im Prinzip eine Art Sub-Seite dar.

01a-ediscovery

Für unser Szenario zur Vorbereitung auf eine Office 365 Migration sind die Queries interessant.

01b-ediscovery

Im sich dann öffnenden Fenster ist erst einmal der Suchbegriff wichtig und die Quelle, in der gesucht werden soll. Bei der Quelle können wir einzelne Site Collections angeben. Bequemer ist direkt die Root-Site, da sie auch die Suchergebnisse aller Site Collections dieser Web Application beinhaltet. In der 2013er Version sehen wir aber leider nur eine Komplettanzahl und nicht sortiert nach Site Collection. Um also wirklich unsere Query-Ergebnisse pro Site Collection sehen zu können, müssten wir also leider in der Tat jede Site Collection einzeln zum Scope hinzufügen.

01c-ediscovery

In SharePoint 2016 wurde das besser umgesetzt, da man hier als Quelle angeben kann, dass alles durchsucht werden soll.

02-ediscovery

Auswertung der Ergebnisse:

In SharePoint 2016 wird in den Ergebnissen bereits schön aufgeschlüsselt, in welcher Site Collection viele der Dokumente liegen, die unseren Suchbegriff beinhalten (siehe Screenshot oben). Dies ist im Prinzip genau das, was wir brauchen.

  1. Sichere Daten: Suchen wir nach explizit sicheren Daten, also mit dem Suchbegriff „Öffentlich“ oder „Nicht vertraulich“, so erhalten wir solche Site Collections, welche wir für die Migration „verpacken“ können (siehe morgiges Türchen – ups, jetzt hab ich’s verraten… 😉 )
  2. Sensible Daten: Suchen wir hingegen nach Dateien, die vertrauliche Informationen enthalten, wie z.B. „vertraulich“ oder „Gehaltsnachweis“, dann erhalten wir die Site Collections, die wir lieber noch On-Premises belassen sollten und wenden darauf gleich entsprechende Data Lost Prevention (DLP) Policies an, damit die Mitarbeiter sensibilisiert werden, dass es sich um sensitive Daten handelt (siehe mein Blogbeitrag zu Governance und Compliance mit dem neuen SharePoint 2016 – DLP im Compliance Center).

Diese schöne Übersicht haben wir leider nicht in SharePoint 2013. Da empfehle ich, die Ergebnisse zu exportieren (was aber auch in SharePoint 2016 möglich ist).

04-ediscovery

Die Ergebnisse, also die gefundenen Dateien, kann man direkt exportieren und sie anschließend in ein FileShare Online Migrationspaket verpacken, wie gestern in der FileShare zu O365 High Speed Migration erklärt. Ich persönlich finde, dass dieser Ansatz aber zusätzliche Komplexität erzeugt, weil so einzelne Dateien in der Cloud liegen, andere wieder nicht, die zuvor gemeinsam an einem Ort lagen. Daher dient dieser Workaround nur für sehr spezielle Szenarien.

Interessanter ist jedoch die Möglichkeit, den Report zu exportieren. Damit erhalten wir eine CSV-Liste, die uns alle gefunden Dokumente anzeigt. So können wir, wie schon einen Schritt zuvor mit SharePoint 2016, die Site Collections identifizieren, deren Inhalte entweder noch nicht oder doch schon in die Cloud migriert werden können – je nach Suchbegriff.

Empfehlung:

Diese Workarounds funktionieren ab SharePoint 2010. (Die PowerShell High Speed Migration funktioniert aber erst ab SharePoint 2013 Inhalten). Mit SharePoint 2016 kommen die einfachere Verwaltung sowie DLP Queries hinzu, die uns die Vorbereitung auf eine Online Migration weiter vereinfachen. Nichts desto trotz ist dieser Ansatz nur für sehr eingeschränkte Migrationsszenarien nützlich. Stattdessen empfehle ich hier den Microsoft FastTrack Service oder noch besser 3rd Party Anbieter. weil diese noch weniger Einschränkungen haben und direkte Migrationspfade auch ab SharePoint 2007 bieten.

Für einen Überblick der gespeicherten Daten in meiner Farm und damit etwas mehr Licht in meinen „Dark Data“ kann ich diesen Ansatz dennoch empfehlen als erste Vorbereitung auf eine Online Migration. Denn wenn ich damit sichere Daten und Site Collections identifiziert habe, kann ich diese bereits in die Cloud über die High Speed Migration API migrieren. Wie man diese bestimmten Inhalte oder eine gesamte Farm in die Cloud migriert, erfahren wir morgen.

Happy „SharePointing“!

Zur O365Adventskalender Übersicht

FileShare Migration nach O365

9. Türchen

Nachdem wir gestern mit ein paar Tricks unseren FileShare vorbereitet haben oder zumindest die Daten sortiert haben, die wir migrieren möchten, steht heute die wirkliche Migration ins Haus. Wir wollen dabei nicht kleckern, sondern klotzen. Damit meine ich nicht, dass wir nicht lange warten wollen, um per CSOM langsam Daten hochzuladen oder eine Festplatte verschicken wollen, wofür es auch einige Limitationen gibt. Stattdessen wollen wir die – mittlerweile nicht mehr – neue High Speed Migration (HSM) API nutzen und Daten direkt über einen Azure Storage in eine SharePoint Online Bibliothek migrieren.

Dazu müssen wir aber folgendes beachten:

  • Die Pfadlängen im Ziel dürfen 255 Zeichen nicht überschreiten. Dies ist eine SharePoint Limitation, die wir im FileShare nicht kennen. Achtet daher darauf, dass eure Ordnerstruktur nicht zu tief ist, um dieses Limit nicht zu erreichen.
  • Sonderzeichen wie “ ? < > # % / \ werden in SharePoint nicht unterstützt
  • Dateien aus dem FileShare, die gerade von einem anderen Programm verwendet werden, sind gesperrt und daher auch nicht für den Migrationsprozess zugänglich.

Um nun loslegen zu können, müssen wir (neben dem Ziel-Tenant und einer Quellumgebung mit Daten) noch folgenden Dinge vorbereiten:

  1. Azure Verbindungs-Assistent
  2. Online PowerShell Module – Beides aus dem O365Adventskalender Türchen 6
  3. Azure Storage (Erstellung siehe unten)

Ok, dann starten wir nun in sechs Schritten.

1. Azure Storage erstellen

Diesen Storage brauchen wir, um das Migrationspaket in der Microsoft Cloud ablegen zu können. Ein komplett direktes Befeuern unseres SharePoints ist nämlich leider doch nicht möglich. Als Hinweis, der Storage muss aber nicht unter dem gleichen Tenant aufgehängt werden. Der Storage kann ganz woanders liegen – und auch unter einem anderen Konto laufen – als der Ziel SharePoint-Tenant. In unserem Test Tenant können wir uns auch einen Test Storage einfach konfigurieren.

  1. Im Azure Portal zu Speicher navigieren und ein neues Speicherkonto anlegen
    02a-fs-migration
    01a-fs-migration
  2. Anschließend werden wir gebeten, die Art des Speichers auszuwählen – in unserem Falle ein Testkonto – und unsere Identität per Telefonnummer und Kreditkarte zu überprüfen. Keine Sorge, es fallen wirklich keine Gebühren an, wenn man nicht explizit einem kostenpflichtigen Abo zustimmt.
    01-fs-migration 02-fs-migration
  3. Nun vergeben wir unserem Speicher einen Namen, der nur Kleinbuchstaben und Ziffern enthalten darf. Als Storage Replikation empfehle ich den Lokal Redundanten Speicher (LRS), da dieser einfach der günstigste Storage ist für 2,02 je 100 GB (aktuell) und für unsere (Test-) Migration völlig ausreichend ist. Die Ressourcengruppe, in der wir unseren Storage einordnen, muss auch noch einen Namen bekommen und die Region, die wir auswählen, sollte aus persönlicher Empfehlung immer nahe zu unserem Upload-Ort sein, denn die Verbindung der Speicher und Tenant untereinander ist von Microsoft extrem gut verkabelt. Also von welcher Azure Storage Region wir die Daten in SharePoint pumpen hat kaum einen Einfluss, aber natürlich unsere eigene Upload-Leitung zu einer entsprechenden Azure Storage Location schon.
    03-fs-migrationDie Bereitstellung des Speichers dauert nur wenige Sekunden bis Minuten. Danach finden wir unseren Storage Namen sowie den Storagy Key unter der Kategorie Zugriffsschlüssel. (für manche Prozesse ist auch die Application ID nötig, aber nicht für unsere Migration.)
    04-fs-migration
    05-fs-migration

 

2. Verbindungsaufbau zu O365

Zur Erinnerung, bevor wir mit PowerShell loslegen können, müssen wir zunächst der Verbindungsaufbau zu O365 aufbauen und die Module in der Azure PowerShell Konsole laden, die ihr als Administrator geöffnet habt:

  • $Creds = Get-Credentials
  • Import-Module Microsoft.Online.SharePoint.PowerShell -ErrorAction SilentlyContinue
  • Connect-SPOService -Credential $Creds -Url https://yourdomain-admin.sharepoint.com

3. Paket erstellen 

Nun haben wir alle Vorbereitungen getroffen, also erstellen wir uns nun ein Migrationspaket. Dabei geben wir mit, welche Dateien von dem FileShare inkludiert werden sollen. Daher ist die gestrige Vorbereitung so hilfreich gewesen. Ich habe versucht, in der Eingabeaufforderung die Variablen so eindeutig wie möglich zu formulieren, daher kommentiere ich es nicht weiter aus. Wenn ihr Fragen habt, einfach fragen! 🙂

Einen Hinweis noch: die Zielpfade müssen schon existieren, da im Konvertierungsprozess bereits eine Verbindung zum Ziel aufgebaut wird, um entsprechend die Daten zu mappen. Die PowerShell Befehle verwenden zudem die internen SharePoint-Namen. Also in Office 365 ist die „Documents“ Bibliothek intern immer noch die „Shared Documents“ MIT Leerzeichen, aber ohne „%20“. Darauf müsst ihr achten.

  • $QuellPfad =   „\\Server\C`$\FileShare\O365Migration“
  • $QuellPaketPfad = „\\Server\C`$\FileShare\O365Migration\Paket“
  • $ZielPaketPfad = „\\Server\C`$\FileShare\O365Migration\Paket-Output“
  • $Zielweburl = „https://yourdomain.sharepoint.com/sites/yoursite“
  • $Zielbibliothek = „FileShare“
  • $ZielOrdner = „OnlineMigration“ (optoinal)

 

  • New-SPOMigrationPackage -SourceFilesPath $QuellPfad -OutputPackagePath $QuellPaketpfad -TargetWebUrl $Zielweburl -TargetDocumentLibraryPath $Zielbibliothek -TargetDocumentLibrarySubFolderPath $ZielOrdner –NoAzureADLookup

 

4. Paket konvertieren

Nachdem wir das Paket erstellt haben, müssen wir es in ein von SharePoint Online verständliches Format konvertieren. Dafür nutzen wir den ConvertTo-SPOMigrationTargetedPackage Befehl. Mit diesem Verbinden wir uns auch schon auf die zukünftige SharePoint Online Bibliothek, damit schon die Mappings auf die Zielbibliothek und Ordner vorgenommen werden können. Und ich kann sogar noch mehr mappen – nämlich Benutzer! Denn On-Premises Benutzer haben nicht immer genau die gleiche ID in O365. Ist das der Fall, macht also ein Mapping Sinn. Dazu müssen wir den -NoAzureADLookup Switch weg lassen, aber ersetzen ihn durch den -UserMappingFile Switch. Damit können wir eine CSV Datei referenzieren, in der für jeden Nutzer eine OnPremSID, UPN sowie eine Wahr/Falsch Angabe zur Gruppenzugehörigkeit angegeben wird. Was diese genau aussagen, seht ihr in der Tabelle:

OnPremSID UPN isGroup
Die Active Directory-SID des lokalen Benutzers oder der lokalen Gruppe (Windows/AD-Authentifizierung an der Quelle vorausgesetzt), die für den Nachschlag des Eintrags in der Datei UserGroup.XML verwendet wird. Der UPN (z. B. E-Mail-Adresse) des Kontos, der im Ziel verwendet werden soll. Handelt es sich bei dem Konto um eine Benutzer- oder Domänengruppe? (Gebt TRUE oder FALSE ein)

So eine CSV muss schon vor der Migration für alle Benutzer erzeugt worden sein, die vermutlich im Migrationspaket enthalten sein werden. Solltet ihr jedoch kein User Mapping brauchen, dann reicht nun also zum Konvertieren dieser Befehl:

  • ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $QuellPfad -SourcePackagePath $QuellPaketPfad -OutputPackagePath $ZielPaketPfad -TargetWebUrl $Zielweburl -TargetDocumentLibraryPath $Zielbibliothek -TargetDocumentLibrarySubFolderPath $ZielOrdner -Credentials $Creds

 

5. Hochladen

Nun laden wir das neue Paket, das im Ordner kaum anders aussieht, als das erste Pakte, auf unseren Azure Storage hoch. Die entsprechenden Namen für unsere Pakete und Container dürfen übrigens auch nur Kleinbuchstaben und keine Sonderzeichen enthalten. Der Payload stellt dann die eigentlichen Daten dar und der PaketContainer das Manifest und Einstellungen für die Migration. Zusätzlich brauchen wir in diesem Schritt das Speicherkonto und den Schlüssel.

  • $PayloadContainer = „migrationayload“
  • $PaketContainer = „paketcontainer“
  • $AzureWarteschleife = „fileshareupload“
  • $AzureKontoName = „robtheninja“
  • $AzureStorageKey =“hierdeinazurekey==“

 

  • $Upload = Set-SPOMigrationPackageAzureSource –SourceFilesPath $QuellPfad –SourcepackagePath $ZielPaketPfad –FileContainerName $PayloadContainer –PackageContainerName $PaketContainer –AzureQueueName $AzureWarteschleife –AccountName $AzureKontoName -AccountKey $AzureStorageKey

Wer möchte, und wem der „Ladebalken“ in der PowerShell Konsole zu langweilig ist, der kann diesen Vorgang mit einem Explorer-Fenster verfolgen. Dazu gibt es auf Codeplex einen sogenannte Azure Storage Explorer, in dem das Ganze dann folgendermaßen aussieht.

08-fs-migration

Dieser Explorer ist auch sonst noch sehr nützlich, wenn man seinen Speicher auch noch für anderen Dinge verwendet, als nur zum Migrationsupload. Also schaut ihn euch wirklich einmal an.

 

6. Migration Starten

Das sieht ja nun schon mal gar nicht schlecht aus. Also müssen wir jetzt nur noch die Migration starten. Dies geht mit folgendem Befehl:

Submit-SPOMigrationJob –TargetwebUrl $Zielweburl –MigrationPackageAzureLocations $Upload –Credentials $Creds

Auch hier können wir mit dem Azure Storage Explorer den Migrationsfortschritt beobachten und schauen, welche Events in der Warteschleife hinzukommen.

08a-fs-migration

Optional können wir auch:

  1. den Status der Migration direkt in der Konsole abfragen mit
    Get-SPOMigrationJobStatus -TargetWebUrl https://yourdomain.sharepoint.com/sites/site
  2. den Migrationsjob am Ende der Migration löschen mit
    Remove-SPOMigrationJob -JobId GUID -TargetWebUrl https://yourdomain.sharepoint.com/sites/site
    Weitere Informationen zum Remove-SPOMigrationJob gibt es hier: https://technet.microsoft.com/en-us/library/mt143607.aspx

Mit diesen beiden Befehlen könnt ihr also direkt den Status abfragen und sicher den Prozess beenden. Mit dem Azure Storage Explorer seht ihr es auch, wenn in der Warteschleife (hier: Queue „fileshareupload“) ein Event „End“ auftaucht. Danach wird auch eine Log-Datei zum abgeschlossenen Migrationsjob in den Payload-Ordner (hier: „migrationpayload“) gelegt.

Im Ziel kommt dann in der Tat alles so an, wie es auf dem FileShare war, sogar mit Ordnerstruktur und den originalen Metadaten, wie Ersteller oder Erstellungsdatum (siehe Screenshot).

10-fs-migration

Sicherlich ist eine Migration mit Hilfe des Microsoft FastTrack noch einfacher, auch wenn selbst dies keine „White Gloves“ Migration ist. Und generell sind 82% aller Migrationen keine einfachen Migrationen. Aber für kleine Firmen und einfache FileShares ist dieser Ansatz mit der HSM API kein komplizierter. Ich kann nur empfehlen, einfach mal ausprobieren, mir hat es wirklich Spaß gemacht, wie schnell und einfach hier alles funktionierte. Ich drücke die Daumen, dass dies auch bei euch der Fall ist.

Weitere Informationen zum Datendurchsatz und möglicher Drosselung der API erfahrt ihr hier:
https://support.office.com/de-de/article/Migrationsgeschwindigkeit-von-SharePoint-Online-und-OneDrive-for-Business-21cfb6a0-fa4c-44c6-9a39-0f45e85e371f?ui=de-DE&rs=de-DE&ad=DE&fromAR=1

Sollte euch das dennoch zu stressig sein oder ihr habt einfach nicht die Zeit und Ressourcen, so ein Projekt durchzuführen, dann gibt es auch sehr gute 3rd Party Lösungen am Markt, die ebenfalls die HSM API nutzen, aber auch direkt ohne Storage mit Multi-Threading die Daten hochladen können – und das Ganze nicht nur von FileShares, sondern auch Notes, LiveLink, Documentum, etc. Immer optimistisch denken, für jedes Problem, gibt es eine Lösung. 🙂

Happy „SharePointing“!

Zur O365Adventskalender Übersicht

FileShare Klassifizierung für O365 Migrationen

8. Türchen

Wir haben uns nun auf Office 365 vorbereitet und wissen, was es grundsätzlich kann – und auch nicht kann hinsichtlich der verfügbaren SharePoint Online PowerShell Befehle. Was fehlt uns nun noch? Die Daten!

Also wollen wir uns heute im ersten Teil den FileShare als Migrationsquelle nach Office 365 anschauen. Viele Firmen sagen mir immer wieder: „Wir können nicht migrieren, weil wir so viele Daten auf dem FileShare haben und wir wissen nicht, ob da sensible Daten dabei sind oder nicht.“ Also wird nicht migriert! Was viele aber gar nicht wissen, Microsoft liefert bereits seit Windows Server 2003 R2 den File Server Resource Manager (FSRM), der den Speicherplatz auf Laufwerken überwacht und auch verhindert, dass bestimmte Dateitypen auf dem Laufwerk abgelegt werden können.

Mit der Zeit wurden diesem Tool immer mehr Funktionen und Richtlinien spendiert, sodass es mittlerweile (seit 2008 R2) auch Daten in FileShares anhand ihres Inhalts klassifiziert kann. Sogar Verschiebe-Aktionen können anhand dieser Klassifizierungen automatisiert vorgenommen werden. Natürlich kann er noch mehr, aber für eine „Sortierung“, um a) sichere Daten zum Migrieren von b) Archivdaten oder sensiblen Daten zu trennen, reicht uns diese Klassifizierungs- und Verschiebe-Funktionalität völlig aus.

Wir schauen uns dies am neuen Windows Server 2016 an. Zunächst müssen wir den Resource Manager über die Management Konsole als Server Rolle aktivieren.

01-addrole

Unter dem Punkt „File and Storage Services“ > „File and iSCSI Services“ müssen wir die „File Server“ sowie „File Server Resource Manager“ Rolle aktivieren. Damit müssen automatisch ein paar zusätzliche Features aktiviert, wie im Screenshot zu sehen ist.

02-addrole

Wir klicken uns weiter durch den Dialog und lassen die Installation abschließen. Anschließend öffnen wir den Resource Manager über die Management Konsole und ich empfehle besonders für den produktiven Betrieb ein paar Grundsätzliche Einstellungen vorzunehmen.

04-fsrm

05-fsrmDies sind die Email-Einstellungen, Ablageorte für Reports und ein automatischer Klassifizierungs-Zeitplan.

06-fsrmWarum ist das wichtig? Ganz einfach! Auf aktiven FileShares sollte

  1. kontinuierlich eine Klassifizierung stattfinden, um Dateien mit Metadaten anzureichen und gegebenenfalls an den richtigen Ablageort automatisch zu verschieben
  2. über Email darüber informiert werden, falls eine automatische Verschiebung stattfand, damit man weiß, wo die Datei nun hin gelangt ist
  3. generell eine Protokollierungen stattfinden, damit man die Dateiverschiebung nachträglich nachvollziehen kann.

Für unser Demo Szenario ist auch eine einfache einmalige Aktion in Ordnung, um Dateien in die richtigen Migrationsordern zu verschieben.

Dieses Szenario der Datensortierung wollen wir nun in drei Schritten konfigurieren:

  1. Im Classification Manager müssen Eigenschaft definieren, die wir in Regeln einbauen wollen. Das heißt, diese Eigenschaftspaare aus Kategorie und Wert werden dann einer Datei oder Ordner hinzugefügt.
    07-fsrm
    08-fsrm
  2. Die oben definierten Eigenschaften binden wir nun in eine Regel ein. Wir vergeben einen entsprechenden Namen und wählen den Ort aus, wo die Regel angewendet werden soll.
    09-fsrm
    10-fsrm
    11-fsrm
    Als nächstes binden wir unsere Werte ein. Für dieses Szenario lasse ich nach den Strings „Oeffentlich“ und „NUR FUER DEN DIENSTGEBRAUCH“ suchen. Werden diese mindestens einmal im Dokument gefunden, dann soll unser Resource Manager die Eigenschaft „O365-Migration-Readiness“ mit dem Wert „O365-Migration-Ready“ hinzu. Zusätzlich suche ich exemplarisch noch nach dem Wert „Vertraulich“ und klassifiziere es entsprechend mit „Nicht O365 Ready“.
    12-fsrm
    Alternativ kann man noch definieren, ob unsere Metadaten existierende Informationen überschreiben oder zusätzlich aggregiert werden sollen (was neu in Windows Server 2016 ist).
    13-fsrm
  3. Im letzten Schritt wollen wir, dass die Daten nicht nur mit Metadaten angereichert werden, sondern zusätzlich sollen die Dateien basierend auf ihrer Klassifizierung in entsprechende Ordner verschoben werden. Dies macht eine anschließende Migration über die High Speed API extrem einfach. Also erstellen wir uns für unser Szenario zwei Aktionsaufgaben.
    14-fsrm
    Auch hier vergeben wir den Aktionen wieder aussagekräftige Namen und den Speicherort, auf den die Aktion angewendet werden soll. Interessant wird es nun auf dem Aktions-Tab. Dort könne wir die Dateien verschlüsseln lassen, „Custom Actions“ wie lokale Skripte ausführen oder die „File Expiration“ auswählen, was wir auch tun. Bitte nicht verwirren lassen. Wir können so natürlich veraltete Dateien ganz einfach auf ein Archiv verschieben. Aber für die Migration nutzen wir diesen kleinen Trick, um die zu migrierenden Dateien in die richtigen Ordner zu verschieben. Der muss also noch in diesem Tab als Zielordner angegeben werden.
    16-fsrm
    Wichtig ist nun noch die Konfiguration, wann die Aktion ausgeführt werden soll, also wann unsere vorher definierte Eigenschaft am Dokument gefunden werden. Dies ist ein Real-Time Scanning, wovon wir in SharePoint Online aktuell noch sehr weit entfernt sind.
    17-fsrm
    Der Tab mit den Notifications und dem Report-Ablageort spielt eine Rolle für die eingangs erwähnte Empfehlung bei produktiven Umgebungen. Beim Schedule-Tab ist noch interessant zu erwähnen, dass neben regelmäßigen Scans auch die Aktion sofort bei neu hinzugefügten Dateien durchgeführt werden kann.

Nun müssen wir die Aktionen nur noch direkt ausführen, damit wir gleich ein Ergebnis sehen. Dies ist bei kleinen FileShares in der Regel in wenigen Sekunden erledigt. Als Ergebnis erhalten wir folgende Ordnerstruktur:

21-fsrm

Wir sehen also, an die Datei wurde im Tab „Classification“ unsere definierte Eigenschaft „O365-Migration-Readiness“ mit dem Wert „O365-Migration-Ready“ angehängt, weil in der Datei der String „Oeffentlich“ gefunden wurde. Daraufhin hat der Resource Manager die Datei in den von mir definierten Zielordner „O365-Migration“ (siehe Hervorhebung in gelb) verschoben. In Orange hervorgehoben sehen wir, von welchem Server die Datei kommt und zu welchem Scan/Aktionszeitraum dies geschah. Danach wird dann (grün hervorgehoben) die originale Ordnerstruktur nachgebaut, wo die Datei ursprünglich lag. Die Metadaten, die ich mir oft in FileShares durch eine Ordnerstruktur aufgebaut habe, bleibt also erhalten. Dennoch habe ich die sensiblen von den sicheren Daten getrennt und kann nun im nächsten Schritt ein Migrationspaket bauen, um die sicheren Dateien nach O365 zu migrieren. Aber dazu später mehr…

Im obigen Teil haben wir lokale Eigenschaften definiert. Aber wer von euch hat mehr als nur einen FileShare? Richtig, für gewöhnlich habe wir mehrere FileShares und lokale Eigenschaften müssten so mehrfach definieren. Dafür haben wir die Dynamic Access Control, die wir über das Active Directory Administration Center erreichen. Damit können wir zentral von einem Domain Controller Eigenschaften veröffentlichen, um sie anschließend einfach auf jedem FileShare auswählen zu können. Die Dynamic Access Control im Administration Service sollte standardmäßig auf einem DC mit Active Directory Services installiert sein.

Von da aus wählen wir die Resource Properties und sehen, dass schon einige existieren, die wir nun aktivieren können. Wir können hier aber auch neue Eigenschaften definieren, wie schon oben als lokale Eigenschaft, die dann auf allen unseren FileShare Servern auftauchen.

24-fsrm

Mit dem einfach PowerShell Befehl

Update-FsrmClassificationPropertyDefinition

kann man die Synchronisation der neuen Eigenschaften forcieren oder man wartet bis zum nächsten AD Synchronisationsjob. Geht man dann wieder zum Resource Manager, so sehen wir, dass nun die beiden veröffentlichten Eigenschaften auftauchen mit dem Scope „Global“.

25-fsrm

Weiterhin haben wir die Möglichkeit, auf weitere vordefinierte (englische) Eigenschaften zurück zu greifen. Dafür gibt es von Microsoft das Data Classification Toolkit. https://www.microsoft.com/en-us/download/details.aspx?id=27123

Dieses Paket, welches aktuell noch nicht auf Windows Server 2016 Kompatibilität gebracht wurde, enthält noch weitere Eigenschaften für folgende fünf Bereiche

  • Information Privacy
  • Information Security
  • Legal
  • Records Management
  • Organizational

Weitere Details, wie ihr dieses Toolkit nutzen könnt, findet ihr auf diesem Blog von Russell Smith: http://www.biztechmagazine.com/article/2011/12/how-use-microsofts-data-classification-toolkit

Fassen wir also zusammen. Wir können den Windows Server File Resource Manager nutzen, um Ordnung in unsere FileShares zu bringen. Das heißt, sensible von sicheren Daten trennen, um so eine Office 365 Migration vorzubereiten.

Dazu definieren wir zunächst Eigenschaften und dazugehörige Werte, anhand dessen wir aufräumen wollen. Als zweites legen wir Scan-Regeln fest, die definieren, bei welchen gefundenen Informationen dieentsprechenden Dokumente mit welchen Metadaten klassifiziert werden sollen. Als drittes kommen die Aktionen ins Spiel, die auf diese Metadaten anspringen und dann bestimmte Aktionen durchführen können. Hinweis: Mit einer Custom Action über PowerShell könnte man direkt Migrationspakete erstellen lassen. Aber alles zu seiner Zeit.

„So viel Heimlichkeit, in der Weihnachtszeit…“ 😉

Happy „SharePointing“!

Zur O365Adventskalender Übersicht

SharePoint Online PowerShell

7. Türchen

Mit dem Herstellen einer PowerShell-Verbindung zu unserem Online Tenant, was logischerweise nicht so trivial ist, wie bei unseren On-Premises Produkten, haben wir gestern den allgemeinen Teil zu Office 365 abgeschlossen und widmen uns in den nächsten Tagen den einzelnen Technologien und starten heute mit SharePoint.

Sollten wir unsere PowerShell Konsole noch offen haben, können wir nun direkt loslegen mit unseren Befehlen, um Seiten, Listen und Bibliotheken anzulegen, Eigenschaften auszulesen und anzupassen. Also im Prinzip Copy/Paste der uns bekannten Befehle aus On-Premises.

Halt Stopp!

Leider ist dies nicht so und als SharePoint Infrastruktur Spezialist bin ich wirklich enttäuscht, was für IT Pros in der SharePoint Online PowerShell Konsole zur Verfügung steht.

Aktuell gibt es ganze 33 Befehle. (https://technet.microsoft.com/de-de/library/fp161364.aspx). Im Vergleich dazu gibt es in der SharePoint 2013 Version 733 Befehle. In der 2016er Version kommen sogar noch ein paar dazu. Eine zentrale und automatisierte Verwaltung meines SharePoint Online ist daher nur sehr eingeschränkt über das UI oder noch weniger per PowerShell möglich. Ganz sicher wird sich da etwas tun, aber derzeit bleibt uns nur Drittanbieter-Software, die direkt über die API eine große Vielzahl an Funktionen zur Verfügung stellt.

Eine Alternative ist es, selbst Code zu schreiben, der über die API die gewünschten Aktionen ausführt. Ein schönes Beispiel, um Listenobjekten auslesen oder erstellen zu können, findet ihr auf dieser Seite:

http://www.c-sharpcorner.com/article/list-item-operations-using-csom-with-powershell-for-sharepoi

Aktuell ist nicht ganz sicher, in welche Richtung Microsoft gehen wird. Ohne Frage wird es weitere PowerShell Befehle für SharePoint geben, aber auf der anderen Seite gibt es nun auch Microsoft Flow und PowerApps. Mit ihnen können Administratoren ohne Entwicklerkenntnisse auch ganz einfach Funktionen zur Verfügung stellen, welche sonst On-Premises nur über PowerShell möglich waren.

Microsoft hat auf der ESPC 2016 erneut bestätigt, dass ein großer Fokus in Zukunft auf Entwickler für SharePoint gelegt wird. Auf der anderen Seite ermöglichen es Programme wie Flow, PowerApps und auch PowerBI engagierten Nutzern, sogenannten Power-Usern, ohne großen Aufwand auch komplexe angepasste Funktionen für ihr Unternehmen bereit zu stellen. Man kann fast glauben, dass der IT Pro, dessen beliebtes „Spielzeug“ PowerShell ist, in Zukunft fast nicht mehr für SharePoint Online gebraucht wird. Eine Entwicklung hin zu Programmierern oder zu Power User könnte uns bevor stehen.

Beunruhigen sollte uns dies jedoch nicht. Zu früh ist aktuell noch die Entwicklung und natürlich auch zu gewagt meine These. Also durchatmen und erst einmal einen Spekulatius verputzen. 😉

Happy „SharePointing“!

Zur O365Adventskalender Übersicht