Mal wieder etwas zum Thema „SharePoint-HowTo“ für alle, die das Problem vielleicht noch nicht kennen…
Wenn man eine SiteCollection über die CA anlegt, werden eine Hand voll SharePoint-Benutzergruppen automatisch erzeugt…dazu gehören unter anderem die Gruppen „Site Owner“, „SiteMember“ und „SiteVisitors“, die dann auch in den Web-Properties (z.B. „SPWeb.AssociatedOwnerGroup“) verewigt sind. Wenn man nun eine SiteCollection aus derselben Vorlage mit dem zugehörigen PowerShell-Befehl erzeugt („New-SPSite“), werden genau diese drei Standard-Gruppen nicht mit erzeugt und die entsprechenden SPWeb-Properties sind null.
Dies muss dann manuell erfolgen, bzw. mit einer Zeile entsprechenden PowerShell-Codes:
$Web.CreateDefaultAssociatedGroups($primaryOwner, $secondaryOwner, $title);
Erst dann klappt’s auch “mit dem Nachbarn” und man kann innerhalb eines derartigen Skripts auch das UI-Feature für die Standard-UI-Gruppen und –Berechtigungsstufen automatisiert aktivieren. Genau das läuft sonst nämlich auf einen Fehler, da es die o.g. Standard-Benutzergruppen erwartet.
Auf diese Art und Weise lässt sich auf der Entwicklungsumgebung eine spezifische SiteCollection per Skript beliebig oft löschen und neu erzeugen, inkl. Aktivierung aller notwenigen Features (echte Hilfe im Entwicklungsprozess, man erspart sich ein Haufen ständiger Klickerei).
Ein entsprechendes Beispiel findet ihr in der OptiBRP-Solution im Rollout-Ordner.