Benutzergruppen für Navigationseinträge via PowerShell setzen

​Das Managen von Navigationseinträge via PowerShell geht, wie so viele andere Dinge in SharePoint, in der Regel schnell von der Hand. Hier und dort ist das Setzen von Feldwerten aber nicht ganz so schnell gemacht. Das gilt besonders für URL-, Lookup- und User-Felder.
Beim Einfügen von Navigationseinträgen gibt es die Möglichkeit, eine oder mehrere Benutzergruppen einzutragen, um die Sichtbarkeit des Eintrags zu steuern. Damit das funktioniert, müssen die Gruppen auf eine bestimmte Art eingetragen werden. Das Audience-Feld, so der interne Name des Felds Benutzergruppe, erwartet die Gruppennamen im Klartext. Dabei muss folgendes Format eingehalten werden:

   
   <SharePointAudienceID>;;<ActiveDirectoryGroupObjectLDAPPath>;;<SharePointGroup>

Üblicherweise kennt man nur die Namen der Benutzergruppen. In diesem Fall können die AudienceID und der AD-Pfad weggelassen werden. Die Trennzeichen müssen allerdings übernommen werden! Heißt die Gruppe zum Beispiel „Redakteure“, lautet der korrekte Befehl wie folgt:
   
   $node.Properties[„Audience“] = „;;;;Redakteure“

Sollen mehrere Gruppen eingetragen werden, werden die Gruppennamen mit einem Komma getrennt:
   
   $node.Properties[„Audience“] = „;;;;Redakteure,Administratoren“
      


By the way: die Eigenschaften eines Navigationseintrags, also Audience (Benutzergruppe) und Description (Beschreibung), können erst nach Erstellen der Node geändert werden. Also: Node erstellen und einfügen, Update, Eigenschaften setzen, nochmal Update. Der Code zum Erstellen eines Navigationseintrags mit Benutzergruppen würde dann beispielsweise so aussehen:

 

   
   Benutzergruppen-fuer-Navigationseintraege-via-PowerShell-setzen_01.png

 

Resultat:

Benutzergruppen-fuer-Navigationseintraege-via-PowerShell-setzen_02.png 

Comments