PnP Provisioning Template validieren

Anforderung

Ein PnP Provisioning Template validieren, um Fehler im Template zu identifizieren.

Hintergrund: Ein PnP Provisioning Template als *.PnP Datei erstellt man mit dem folgenden Befehl:

Convert-PnPFolderToSiteTemplate -Out MyTemplate.pnp -Folder c:\temp\Projekte

Lösung:

Man verwende den Befehl Read-PnPSiteTemplate, der ein persistiertes Provisioning Template in den Speicher lädt und dabei validiert.

Read-PnPSiteTemplate -Path C:\temp\myTemplate.pnp

Eventuelle Fehler, die mit dem angegebenen Schema kollidieren, werden auf der Konsole ausgegeben. Folgend ein Beispiel für eine solche Fehlermeldung:

Read-PnPSiteTemplate: The element 'Lists' in namespace 'http://schemas.dev.office.com/PnP/2020/02/ProvisioningSchema' has invalid child element 'Files' in namespace 'http://schemas.dev.office.com/PnP/2020/02/ProvisioningSchema'. List of possible elements expected: 'ListInstance' in namespace 'http://schemas.dev.office.com/PnP/2020/02/ProvisioningSchema'.

Viva Connections: Mobile Ankündigungen

Intro

Das Feature heißt Viva Connections Announcements. Es ist eine Funktion, die es dir ermöglicht, zeitkritische Nachrichten in der Viva Connections-App zu erstellen und zu teilen. Du kannst Ankündigungen von deiner SharePoint-Startseite aus einrichten, verwalten und planen. Die Ankündigungen werden in der Viva Connections-App angezeigt und können auf Desktop-, Tablet- und Mobilgeräten angezeigt werden.

Folgende Nachteile gibt es derzeit:

  • Es wird nur an mobile Teams-Nutzer ausgespielt
  • Es muss immer als Pflichtangabe eine Zielgruppe angegeben werden
  • Announcement wird nicht auf der Startseite der Homesite angezeigt
  • Laufende Accouncements können nachträglich nicht mehr angepasst werden

Seit Oktober 2023 benötigen Benutzer eine Microsoft Viva Suite- oder Viva Communications- und Communities-Lizenz, um diese Ankündigungsfunktion nutzen zu können. 😒

Demo-Video von Microsoft

Technischer Hintergrund

Technisch gesehen wird eine eigene Site Pages Library dafür in der Website angelegt sowie ein eigener Content Type deployt. Im Neu Menü auf der Startseite haben dann die Redakteure ein neuen Eintrag.

Der Klick auf die Bibliothek in den Site Contents führt zu einem Redirect zu einer bestimmten ASPX-Seite im Layouts-Verzeichnis

https://tenantname.sharepoint.com/_layouts/15/announcements.aspx

Hier auf der ASPX-Seite wird sicher auch die Lizenz-Prüfung implementiert sein. Wenn keine Lizenz vorhanden ist, wird auf der Seite nichts angezeigt.

Content Type „SitePages Announcement“

SharePoint Online: Die Krux mit privaten Entwürfen

Alle Probleme starten mit neuen Features, die nicht 100%ig durchdacht sind. Dazu gehört das Feature der privaten Entwürfe für Site Pages in SharePoint Online.

Die Fakten

  • Das Feature lässt sich konfigurativ nicht deaktivieren in einer Website
  • Private Entwürfe können niemals wieder zu „normalen“ Entwürfen werden – der nächste Schritt im Lebenszyklus ist das Publizieren
  • Außer dem Autor haben nur Site Collection Admins Rechte auf diesen Entwurf – Site Owner sind also außen vor
  • Nur der Nutzer, der den Entwurf angelegt hat, kann den privaten Entwurf teilen
  • Technisch gesehen wird für die Site Page die Berechtigungen gebrochen und Einzelberechtigungen (Single Item Permission) angewendet.

Die Folgen

Im Intranet-Kontext macht dieses Feature generell Sinn. Redakteur A verfasst eine sensible Corporate News als privaten Entwurf und alle anderen Redakteure der gleichen Berechtigungsgruppe (Site Editor) sehen den Entwurf nicht. Leitende Redakteure in der höchsten Berechtigungsgruppe (Site Owner) wollen gerne den Entwurf sehen, redigieren und ihn ggf. auch im Rahmen eines Genehmigungs-Workflows freigeben.

Damit das klappt, muss Redakteur A sein privaten Entwurf mit der Site Owner Gruppe manuell teilen.

Manuelles Teilen des privaten Entwurfs mit der Owner-Gruppe der Website

Workaround

Die leitenden Redakteure werden als Site Collection Admin berechtigt – damit können sie alle privaten Entwürfe direkt ansehen ohne das manuelle Teilen.

  • Roadmap ID Eintrag 85629

Exchange Online: Mailbox als Admin ohne Lizenz öffnen

Hintergrund:
Manchmal muss man als Exchange Online Admin auch mal (Shared)-Mailboxen öffnen – und das ohne eine zugewiesene Lizenz.

Problem:

Beim Aufruf der Mailbox im Browser bekommt man als Admin ohne Lizenzzuweisung eine Fehlermeldung „UserHasNoMailboxAndNoLicenseAssignedError“

Lösung:

Berechtigung des Admin-Accounts in PowerShell Konsole auf die (Shared) Mailbox einrichten – die UserID der Mailbox sowie der Account-Name des Admins ist notwendig:

#Add Mailbox Permission for Admin Account
Add-MailboxPermission -Identity $SharedMailboxUserUserID -User $EACAdminUser -AccessRights FullAccess -InheritanceType All

Anschließend kann man im Browser die Shared Mailbox bequem aufrufen:


https://outlook.office.com/mail/mailboxid@domain.com/?offline=disabled

Power Automate & Bookings with me

Was ist „Bookings with me“

Bookings with me ist ein neues Feature von Outlook, das Ihnen hilft, Termine oder Besprechungen mit anderen Personen zu vereinbaren, basierend auf Ihrer gegenseitigen Kalenderverfügbarkeit und Ihren angegebenen Besprechungspräferenzen.

Sie können eine persönliche Buchungsseite erstellen, die Sie mit anderen teilen können, damit sie eine Zeit auswählen können, die für Sie beide passt³⁴. Sie können auch verschiedene Besprechungstypen für verschiedene Zwecke erstellen und anpassen, z. B. Standort, Dauer, Pufferzeit, Vorlaufzeit usw.¹. Bookings with me ist nur über Outlook für Web zugänglich³⁴. Sie können auf Ihre Buchungsseite zugreifen, indem Sie zu dieser Seite gehen oder auf das Menüelement „Buchungsseite erstellen“ in Ihrem Kalender in Outlook für Web klicken¹.

Besonderheiten nach der Terminbuchung

Wenn eine Terminbuchung vereinbart wurde, wird dies im eigenen Kalender sofort gebucht. Jedoch erhält man keine normale Termineinladung in seinem Outlook Posteingang sondern nur eine Benachrichtigungsmail.

Nutzung in Power Automate

In PowerAutomate kann der Trigger „CalendarGetOnNewItemsV3“ genutzt werden, um auf diese Kalenderbuchungen zu reagieren:

Weiterhin müssen für diese Terminbuchungen weitere Trigger-Conditions konfigurieren werden, damit der Workflow nur auf diese reagiert: