SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Nutzergruppen über Powershell hinzufügen

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 3 Antworten | 2 Followers

Top-50-Beitragsschreiber
269 Beiträge
MStel erstellt in 9 Apr 2015 9:58

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

Top-10-Beitragsschreiber
592 Beiträge

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

 

Top-50-Beitragsschreiber
269 Beiträge

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!

Top-50-Beitragsschreiber
269 Beiträge

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()

Seite 1 von 1 (4 Elemente) | RSS