SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Nutzergruppen über Powershell hinzufügen

Unbeantwortet Dieser Beitrag hat 3 Antworten

Ohne Rang
282 Beiträge
MStel erstellt 9 Apr. 2015 09:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich muss auf meinem SharePointserver 2010 ( http://localhost/sites/test ) eigene Nutzergruppen anlegen und diesen Berechtigungen geben.
Allerdings finde ich keinen Befehl für AddSPGroup oder ähnliches, nur Lösungen von Privatleuten, welche die Einbindung oder Verbindung zu externen Seiten benötigen.
 
Mit eigenen Nutzergruppen meine ich nicht nur "Home Visitors" etc sondern wirklich konkrete selbst erstellte Gruppen mit eigenen Berechtigungen.

Wäre um einen passenden Link zu etwas offiziellem oder einem Syntaxbeispiel, welches nach Änderung der Daten auf mein System funktioniert sehr dankbar.

MFG
MStel

Alle Antworten

Ohne Rang
634 Beiträge
Olaf Didszun Als Antwort am 9 Apr. 2015 11:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

das geht leider nicht über ein einfaches Cmdlet. Du musst hierfür auf das Web-Objekt zugreifen (Get-SPWeb) und danach dort im Group-Member die Gruppe anlegen und anschließend mittels SPRoleDefinition und SPRoleAssignment der Gruppe die Berechtigungen geben. Schau ggf. mal hier: http://get-spscripts.com/2010/07/adding-groups-with-permission-levels-to.html

Hier (http://www.concurrency.com/blog/create-groups-and-roles-in-sharepoint-2010/) findest du außerdem einen Ansatz, wie das mit C# gemacht wird. Dieses Beispiel sollte sich eigentlich mit etwas Aufwand in ein passendes PowerShell-Skript umwandeln lassen.

Beste Grüße

Olaf

 

Ohne Rang
282 Beiträge
MStel Als Antwort am 9 Apr. 2015 11:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,
Dankeschön erstmal,

leider muss die Lösung allerdings mit einem einzigem Skript (.ps1) realisiert werden, da im Rahmen meines Abschlussprojektes mit SharePoint externe Dateien in C# etc ausdrücklich unerwünscht sind  . .
Ich habe im SP Forum schon Ansätze gefunden das zu lösen - http://sharepointcommunity.de/forums/p/13839/39735.aspx#39735

Mit folgendem Code habe ich es geschafft, zumindest einmalig eine Nutzergruppe mit eigenen Berechtigungen anzulegen.
Möchte ich dies aber mehrfach ausführen wird lediglich der erste meiner Einträge überschrieben.
Ich weiß nicht wie ich die Variablen hier quasi zurücksetzen kann.

$web = Get-SPWeb $webURL
$Owner = "th91mo"
$groupname = "User"
$description = "Testnutzer"
$web.SiteGroups.Add($groupname, $owner, $null, $description)
$group = $web.SiteGroups[$groupname]
$permissionLevel="Lesen1"
$roleAssignment=New-Object Microsoft.SharePoint.SPRoleAssignment($group)
$roleDefinition=$web.RoleDefinitions[$permissionLevel]
$roleAssignment.RoleDefinitionBindings.Add($roleDefinition)
$web.RoleAssignments.Add($roleAssignment);
$web.update()

Wenn du mir bei diesem Ansatz etwas weiterhelfen könntest wäre das optimal!

Ohne Rang
282 Beiträge
MStel Als Antwort am 10 Apr. 2015 08:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo, habe es nun hinbekommen.
Falls wer dafür Verwendung hat, hier der Code ( kann beliebig erweitert werden )


$web = Get-SPWeb $webURL
$Owner = "th91mo"
# Gruppe erstellen
$groupname = "User"
$description = "Testnutzer"
$web.SiteGroups.Add($groupname, $web.Site.Owner, $web.Site.Owner, $description)
# Recht 1
$group = $web.SiteGroups[$groupname]
$permissionLevel="Lesen"
$roleAssignment=New-Object Microsoft.SharePoint.SPRoleAssignment($group)
$roleDefinition=$web.RoleDefinitions[$permissionLevel]
$roleAssignment.RoleDefinitionBindings.Add($roleDefinition)
$web.RoleAssignments.Add($roleAssignment);
# Recht 2..
# Recht 3 ..
# Update
$web.update()