

Ausgangsbasis
Um Berechtigungen von Listen/Bibliotheken oder Webseite innerhalb eines Nintex Workflows zu entfernen, sind mehrere Schritte notwendig, da keine Standardactions von Nintex dazu mitgeliefert werden.
Das Vorgehen zum Entfernen von Gruppen aus einer Liste wird exemplarisch beschrieben.
Hin und wieder werden angepasste Berechtigungen auf Listen/Bibliotheken und Webseiten benötigt. Von Haus aus liefert Nintex dazu keine passende Action mit.
Um es trotzdem zu ermöglichen, benötigt man den Permissions.asmx-WebService sowie die Nintex-Actions Call web service, Query XML und ForEach.
Im folgenden Beispiel werden alle SharePoint Gruppen von einer Liste entfernt. (Berechtigungen aus einer Webseite zu entfernen ist annähernd identisch).
Übersicht kompletter Workflow:
Konfiguration erste Call web service Action:
Diese Action liest die aktuellen Berechtigungen der Liste aus.
Dabei sind folgende Parameter zu erfassen:
Url | Hier muss die Url zum Permissions-WebService eingetragen werden. Diese lautet <WebUrl>/_vti_bin/Permissions.asmx — <WebUrl> ist die Nintex Eigenschaft |
Web method | GetPermissionCollection |
objectName (string) | Name der Liste von der die Berechtigungen abgerufen werden sollen |
objectType (string) | List (falls Webseitenberechtigungen angepasst werden sollen: Web) |
Store result in | Variable (Typ: MultiLine) in der die WebService-Antwort gespeichert werden soll |
Konfiguration Query XML Action:
Diese Action verarbeitet die XML-Antwort des WebService, so dass eine Collection entsteht in der alle SharePoint-Gruppen enthalten sind. Dies wird zum Entfernen der Gruppen in den folgenden Actions benötigt.
Dabei sind folgende Parameter zu erfassen:
XML Source | XML |
XML | Variable aus der ersten Call web service Action |
XPath | /defaultNS:GetPermissionCollection/defaultNS:Permissions/defaultNS:Permission/@GroupName |
Store reuslt in | Variable (Typ: Collection) |
Konfiguration ForEach Action:
Diese Action sorgt dafür, das jede SharePoint-Gruppe bearbeitet wird.
Dabei sind folgende Parameter zu erfassen:
Target collection | Die Store result in Variable aus der vorherigen Query XML Action |
Store result in | (Neue) Variable (Typ: Textzeile) |
Konfiguration zweite Call web Service Action:
Diese Action entfernt immer genau eine Berechtigung/Gruppe aus der Liste.
Dabei sind folgende Parameter zu erfassen:
URL | Url zum Permissions.asmx-WebService |
Web method | RemovePermission |
objectName (string) | Name der Liste |
objectType (string) | List (falls Webseiten-Berechtigungen entfernt werden sollen: Web) |
permissionIdentifier (string) | Variable aus der ForEach-Action (enthält die aktuell zu entfernende Gruppe) |
permissionType (string) | group (in diesem Fall, da Gruppen entfernt werden sollen. Auch möglich: user) |

Stephan Dalke
Solution Architect