Archiv für den Monat: Oktober 2018

Kleine Tipps für Zwischendurch: Datumszeitangaben im UTC-Format konvertieren

Datumskonvertierungen sind ein Thema für sich, insbesondere, wenn Spezialitäten wie UTC-Zeitangaben (Universal Time Coordinate) wie „20181010T110000“ ins Spiel kommen. Solche Datumswerte kommen z.B. in Ics-Dateien vor, die als Einladung zu einem Meeting verschickt werden.

PowerShell ist dank dem .NET Framework-Unterbau sehr vielseitig was den Umgang mit Datumsformat angeht, man muss eventuell nur ein wenig suchen bzw. experimentierfreudig sein.

So hat es eine Weile gedauert bis ich herausgefunden hatte wie die obige Zeichenfolge in einen DateTime-Wert konvertiert wird:

Das Geheimnis besteht darin, dass die zweite Zeichenfolge den Aufbau der ersten Zeichenfolge so abbilden muss, dass ein gültiger Datumszeitwert resultiert.

Das „T“ stört natürlich ein wenig. Der vielseitige replace-Operator lässt es unaufällig verschwinden:

Einen Access Token für Microsoft Graph erhalten

Mein neues Schwerpunktthema ist Office 365-Administration per PowerShell&Co und in diesem Themenkontext vor allem die reichhaltige Microsoft Graph-API.

Das für das Ausführen von Abfragen erforderliche Access Token zu erhalten ist nicht ganz so einfach. Das liegt weniger an der Technik, sondern eher daran, dass die Thematik (u.a. OAUth 2.0) ungewohnt ist und viele Wege nach Rom führen, von denen einige auch in Sackgassen führen.

Eine sehr gute Anleitung hat Microsoft Mitarbeiter Paul Kotylo in seinem Blog beschrieben:

https://blogs.technet.microsoft.com/cloudlojik/2018/06/29/connecting-to-microsoft-graph-with-a-native-app-using-powershell/

Wer die Schritte der Reihe nach ausführt (und keine Fehler macht) kommt zu einem Erfolg und kann Abfragen wie die folgende ausführen:

Die auf ODATA basierende Abfragesyntax wird hier beschrieben:

Ob eine Abfrage funktioniert hängt auch davon ab, ob für die App die erforderliche Berechtigung gesetzt wurde.

Ich werden das Thema in einigen Wochen an dieser Stelle ausführlicher mit einer Schritt für Schritt-Anleitung vorstellen.