private void Reset() { SquadronContext.StartMonitoringExceptions(); SPSecurity.RunWithElevatedPrivileges(delegate() { try { int count = 0; foreach (int i in ItemsList.CheckedIndices) { if (_permissionUtility.ResetToInherit(_selectedList[i].InternalObject as SPSecurableObject)) { count++; } } if (count < ItemsList.CheckedIndices.Count) { SquadronContext.Warn("Reset operation of some item(s) invoked errors. Please refresh & retry."); } } catch (Exception ex) { SquadronContext.HandleException(ex); } finally { SquadronContext.StopMonitoringExceptions(); FooterPanel.Text = "Operation completed!"; } }); }
public void RemoveUserFromWeb(SPWeb web, SPUser user) { bool old = web.AllowUnsafeUpdates; web.AllowUnsafeUpdates = true; web.Update(); try { web.Users.Remove(user.LoginName); } catch (Exception ex) { SquadronContext.HandleException(ex); } foreach (SPGroup g in web.SiteGroups) { try { g.RemoveUser(user); } catch (Exception ex) { SquadronContext.HandleException(g, ex); } } web.AllowUnsafeUpdates = old; web.Update(); }
public bool ResetToInherit(SPSecurableObject so) { SPSecurity.RunWithElevatedPrivileges(delegate() { SPUtility.ValidateFormDigest(); try { if (so is SPWeb) { ResetWebInheritance(so as SPWeb, true); } else if (so is SPList) { ResetListInheritance(so as SPList, true); } else if (so is SPListItem) { ResetItemInheritance(so as SPListItem, true); } } catch (Exception ex) { SquadronContext.HandleException(ex); } }); return(true); }
public bool BreakInheritance(SPSecurableObject so) { try { if (so is SPWeb) { SafeUpdate(so as SPWeb); (so as SPWeb).AllowUnsafeUpdates = true; so.BreakRoleInheritance(true); SafeUpdate(so as SPWeb); } else if (so is SPList) { ResetListInheritance(so as SPList, false); } else if (so is SPListItem) { SafeUpdate((so as SPListItem).ParentList.ParentWeb); (so as SPListItem).ParentList.ParentWeb.AllowUnsafeUpdates = true; so.BreakRoleInheritance(true); } } catch (Exception ex) { SquadronContext.HandleException(ex); } return(true); }
protected override bool InternalExecute() { SPSecurity.RunWithElevatedPrivileges(delegate() { foreach (object o in this.SharePointObjects.OfType <SPSecurableObject>()) { try { SPSecurableObject so = o as SPSecurableObject; if (so.HasUniqueRoleAssignments) { foreach (SPRoleAssignment ra in so.RoleAssignments) { if (ra.Member is SPUser) { DetailsList.Add(new DirectPermissionEntity() { User = ra.Member.LoginName, Title = _utility.GetDisplayName(o, false), Url = _utility.GetUrl(o) }); } } } } catch (Exception ex) { SquadronContext.HandleException(o, ex); } } }); return(DisplayResult(DetailsList.Count == 0)); }
private void ApplyPermissionForWeb(PermissionEntity pentity, SPWeb web) { try { SPSecurity.RunWithElevatedPrivileges(delegate() { SPUtility.ValidateFormDigest(); using (SPSite elevatedSite = new SPSite(web.Site.ID)) { using (SPWeb elevatedWeb = elevatedSite.OpenWeb(web.ID)) { if (pentity.PermissionType == "Inherit") { if (!elevatedWeb.IsRootWeb) { elevatedWeb.ResetRoleInheritance(); } } else if (pentity.PermissionType == "Unique") { if (!elevatedWeb.IsRootWeb) { elevatedWeb.BreakRoleInheritance(false); } ClearPermissions(elevatedWeb); DeleteAllGroupsAndUsers(elevatedWeb); foreach (RoleEntity rentity in pentity.Roles) { if (rentity.Type == RoleTypeEnum.SharePointGroup) { DeleteGroup(elevatedWeb, rentity.AssignmentName); CreateGroup(elevatedWeb, rentity.AssignmentName, rentity.Owner); AddUsersToGroup(elevatedWeb, rentity.AssignmentName, rentity.Users); AssignPermissionLevels(elevatedWeb, rentity.AssignmentName, rentity.PermissionLevels); } else if ((rentity.Type == RoleTypeEnum.DomainGroup) || (rentity.Type == RoleTypeEnum.User)) { AssignPermissionLevelsToNonSharePointGroup(elevatedWeb, rentity.AssignmentName, rentity.PermissionLevels); } } } } } }); } catch (Exception ex) { SquadronContext.HandleException(ex); } }
public IList <object> RefreshSharePointObjects(IList <object> objects) { SquadronHelper.Instance.StartAnimation(); IList <object> result = new List <object>(); _internalList = new List <object>(); try { foreach (object o in objects) { try { if (o is SPWebApplication) { result.Add(GetNewWebApplication(o as SPWebApplication)); } else if (o is SPSite) { result.Add(GetNewSite(o as SPSite)); } else if (o is SPWeb) { result.Add(GetNewWeb(o as SPWeb)); } else if (o is SPList) { result.Add(GetNewList(o as SPList)); } else if (o is SPListItem) { result.Add(GetNewListItem(o as SPListItem)); } else { throw new ApplicationException("Invalid type!"); } } catch (Exception ex) { SquadronContext.HandleException(o, ex); } } } finally { SquadronHelper.Instance.StopAnimation(); } return(result); }
private void ApplyPermissionForListItem(PermissionEntity pentity, SPListItem item) { try { SPSecurity.RunWithElevatedPrivileges(delegate() { SPUtility.ValidateFormDigest(); using (SPSite elevatedSite = new SPSite(item.ParentList.ParentWeb.Site.ID)) { using (SPWeb elevatedWeb = elevatedSite.OpenWeb(item.ParentList.ParentWeb.ID)) { elevatedWeb.AllowUnsafeUpdates = true; SPList elevatedList = elevatedWeb.Lists[item.ParentList.Title]; SPListItem elevatedListItem = elevatedList.GetItemById(item.ID); if (pentity.PermissionType == "Inherit") { elevatedListItem.ResetRoleInheritance(); } else if (pentity.PermissionType == "Unique") { elevatedListItem.BreakRoleInheritance(false); ClearPermissions(elevatedListItem); foreach (RoleEntity rentity in pentity.Roles) { if (rentity.Type == RoleTypeEnum.SharePointGroup) { // Do not delete as parents may use it, DeleteGroup(list.ParentWeb, rentity.AssignmentName); CreateGroup(elevatedListItem.ParentList.ParentWeb, rentity.AssignmentName, rentity.Owner); AddUsersToGroup(elevatedListItem.ParentList.ParentWeb, rentity.AssignmentName, rentity.Users); AssignPermissionLevels(elevatedListItem, rentity.AssignmentName, rentity.PermissionLevels); } else if ((rentity.Type == RoleTypeEnum.DomainGroup) || (rentity.Type == RoleTypeEnum.User)) { AssignPermissionLevelsToNonSharePointGroup(elevatedListItem, rentity.AssignmentName, rentity.PermissionLevels); } } } } } }); } catch (Exception ex) { SquadronContext.HandleException(ex); } }
private IList <SPUser> GetUsers() { IList <SPUser> list = new List <SPUser>(); try { SPSecurity.RunWithElevatedPrivileges(delegate() { SPWebApplication webApplication = SPWebApplication.Lookup(new Uri(_url)); foreach (SPSite site in webApplication.Sites) { foreach (SPWeb web in site.AllWebs) { foreach (SPUser user in web.AllUsers) { bool found = false; if (string.IsNullOrEmpty(NameText.Text)) { found = true; AddUser(list, user); } else if (!string.IsNullOrEmpty(user.LoginName)) { if (user.LoginName.ToLower().Contains(NameText.Text.ToLower())) { found = true; AddUser(list, user); } if (!found) { if (user.Name.ToLower().Contains(NameText.Text.ToLower())) { found = true; AddUser(list, user); } } } } } } }); } catch (Exception ex) { SquadronContext.HandleException(ex); } return(list); }
public void Execute() { grid.SelectionMode = DataGridViewSelectionMode.CellSelect; grid.DataSource = null; _errorsOccurred = false; SquadronHelper.Instance.StartAnimation(); InitConstants(); try { SPSecurity.RunWithElevatedPrivileges(delegate() { Result.Clear(); _discardedCount = 0; if (SelectedObjectsMode) { IterateSelectedObjects(); } else { if (Scope == ScopeEnum.WebApplication) { WebApplicationScope(); } else if (Scope == ScopeEnum.SiteCollection) { SiteCollectionScope(); } else if (Scope == ScopeEnum.Site) { SiteScope(); } } ShowResultToGrid(); }); } catch (Exception ex) { SquadronContext.HandleException(ex); } finally { SquadronHelper.Instance.StopAnimation(); } }
public void InvokeOnChange() { foreach (SquadronAddin addin in Addins) { try { addin.OnChange(); } catch (Exception ex) { SquadronContext.HandleException(ex); } } }
private void ResetItemInheritance(SPListItem listItem, bool makeInherit) { SPWeb elevatedWeb = null; SPList elevatedList = null; SPListItem elevatedListItem = null; try { SPSecurity.RunWithElevatedPrivileges(delegate() { SPUtility.ValidateFormDigest(); using (SPSite elevatedSite = new SPSite(listItem.ParentList.ParentWeb.Site.ID)) { using (elevatedWeb = elevatedSite.OpenWeb(listItem.ParentList.ParentWeb.ID)) { elevatedWeb.AllowUnsafeUpdates = true; elevatedList = elevatedWeb.Lists[listItem.ParentList.Title]; elevatedListItem = elevatedList.GetItemById(listItem.ID); if (makeInherit) { elevatedListItem.ResetRoleInheritance(); } else { elevatedListItem.BreakRoleInheritance(false); } elevatedListItem.Update(); elevatedWeb.AllowUnsafeUpdates = false; } } }); } catch (Exception ex) { SquadronContext.HandleException(ex); } finally { if (elevatedWeb != null) { elevatedWeb.Dispose(); } } }
private void ResetWebInheritance(SPWeb web, bool makeInherit) { SPWeb elevatedWeb = null; try { SPSecurity.RunWithElevatedPrivileges(delegate() { SPUtility.ValidateFormDigest(); using (SPSite elevatedSite = new SPSite(web.Site.ID)) { using (elevatedWeb = elevatedSite.OpenWeb(web.ID)) { elevatedWeb.AllowUnsafeUpdates = true; if (makeInherit) { elevatedWeb.ResetRoleInheritance(); } else { elevatedWeb.BreakRoleInheritance(false); } elevatedWeb.Update(); elevatedWeb.AllowUnsafeUpdates = false; } } }); } catch (Exception ex) { SquadronContext.HandleException(ex); } finally { if (elevatedWeb != null) { elevatedWeb.Dispose(); } } }
private void PerformButton_Click(object sender, EventArgs e) { SquadronContext.WriteMessage("Started.."); SPSecurity.RunWithElevatedPrivileges(delegate() { SPSite site = new SPSite(SquadronContext.Url); UserProfileManager manager = null; try { manager = new UserProfileManager(SPServiceContext.GetContext(site)); } catch (Exception ex) { SquadronContext.Errr("Unable to create UserProfileManager object!" + Environment.NewLine + "Please ensure Central Administration > User Profile Service Application > Permissions are set!"); SquadronContext.HandleException(ex); return; } DataTable table = new DataTable(); foreach (Property p in manager.Properties) { table.Columns.Add(p.Name, typeof(string)); } foreach (UserProfile profile in manager) { DataRow row = table.NewRow(); foreach (Property property in manager.Properties) { row[property.Name] = profile[property.Name].Value; } table.Rows.Add(row); } grid.DataSource = table; SquadronContext.WriteMessage(table.Rows.Count.ToString() + " rows found"); SquadronContext.WriteMessage("Completed."); }); }
public void RefreshData() { SquadronHelper.Instance.StartAnimation(); try { explorer.Url = SquadronContext.Url; } catch (InvalidURLException iex) { SquadronContext.Errr(iex.Message.ToString(), "http://jeanpaulva.com/2013/04/01/squadron-invalid-url-exception-solutions/"); } catch (Exception ex) { SquadronContext.HandleException(ex); } finally { SquadronHelper.Instance.StopAnimation(); } }
public IList <SecurableObject> GetSecurableObjects(string url, ScopeEnum scope, bool includeSite, bool includeListAndLibrary, bool includeFolder, bool includeItem, bool includeInherited) { _securableObjects = new List <SecurableObject>(); try { SPSecurity.RunWithElevatedPrivileges(delegate() { if (scope == ScopeEnum.WebApplication) { SPWebApplication webApplication = SPWebApplication.Lookup(new Uri(url)); foreach (SPSite site in webApplication.Sites) { // Site if (includeSite) { GetWebSites(site, includeInherited, null); } // List if (includeListAndLibrary) { GetLists(site, includeInherited); } // Folder if (includeFolder) { GetFolders(site, includeInherited); } // List Item if (includeItem) { GetListItems(site, includeInherited); } } } else if (scope == ScopeEnum.SiteCollection) { using (SPSite site = new SPSite(url)) { // Site if (includeSite) { GetWebSites(site, includeInherited, null); } // List if (includeListAndLibrary) { GetLists(site, includeInherited); } // Folder if (includeFolder) { GetFolders(site, includeInherited); } // List Item if (includeItem) { GetListItems(site, includeInherited); } } } else if (scope == ScopeEnum.Site) { using (SPSite site = new SPSite(url)) { foreach (SPWeb web in site.AllWebs) { if (Helper.Instance.AreUrlsEqual(web.Url, url)) { // Site if (includeSite) { GetWebSites(site, includeInherited, web); } // List if (includeListAndLibrary) { GetLists(site, includeInherited); } // Folder if (includeFolder) { GetFolders(site, includeInherited); } // List Item if (includeItem) { GetListItems(site, includeInherited); } } } } } }); } catch (Exception ex) { SquadronContext.HandleException(ex); } return(_securableObjects); }
private void SiteCollectionScope() { SquadronContext.WriteDebugMessage("Entering SiteCollectionScope()"); using (SPSite site = new SPSite(GetUrl())) { // Site if (SiteCheck.Checked) { foreach (SPWeb web in site.AllWebs) { ProcessWebSite(web); } } // List if (ListCheck.Checked) { foreach (SPWeb web in site.AllWebs) { foreach (SPList list in web.Lists) { if (!IsListDiscarded(list)) { ProcessList(list); } } } } // List Item if (ItemCheck.Checked) { foreach (SPWeb web in site.AllWebs) { foreach (SPList list in web.Lists) { if (!IsListDiscarded(list)) { try { foreach (SPListItem folder in list.Folders) { ProcessListItem(folder, "Folder"); } } catch (Exception ex) { SquadronContext.HandleException(ex); } try { foreach (SPListItem item in list.Items) { ProcessListItem(item, "Item"); } } catch (Exception ex) { SquadronContext.HandleException(ex); } } } } } } }
private void ProcessListItem(SPListItem item, string type) { SquadronContext.WriteDebugMessage("Entering ProcessListItem() " + _utility.GetDisplayName(item, true)); try { if (UniquePermissionsCheck.Checked) { if (!item.HasUniqueRoleAssignments) { _discardedCount++; return; } } string permissionType = GetPermissionType(item); var pinfo = new PermissionInfo() { Type = type, Title = item.DisplayName, Url = item["EncodedAbsUrl"].ToString(), PermissionType = permissionType, InternalObject = item, InheritUrl = GetInheritedUrl(item) }; if (IsFilterDiscard(pinfo.Url)) { return; } Result.Add(pinfo); if (permissionType.StartsWith("Inherit")) { if (!ExpandInheritedCheck.Checked) { return; } } string roleAssignment = string.Empty; int count = 0; foreach (SPRoleAssignment rolea in item.RoleAssignments) { roleAssignment = rolea.Member.ToString(); string permissionLevels = string.Empty; foreach (SPRoleDefinition roledef in rolea.RoleDefinitionBindings) { permissionLevels += roledef.Name + "; "; } Result.Add( new PermissionInfo() { RoleAssignments = roleAssignment, RoleType = GetRoleType(rolea.Member), Owner = GetOwner(rolea.Member), PermissionLevels = permissionLevels, UsersInGroup = GetUsersInGroup(roleAssignment, item.ParentList.ParentWeb), InternalObject = item } ); count++; } if (count == 0) { Result.Add(new PermissionInfo() { RoleAssignments = "(no assignments)" }); } } catch (Exception ex) { SquadronContext.HandleException(new ObjectException(item, ex)); _errorsOccurred = true; } }
private void ProcessWebSite(SPWeb web) { SquadronContext.WriteDebugMessage("Entering ProcessWebSite() " + _utility.GetDisplayName(web, true)); try { if (IsFilterDiscard(web.Url)) { return; } if (UniquePermissionsCheck.Checked) { if (!web.HasUniqueRoleAssignments) { _discardedCount++; return; } } string permissionType = GetPermissionType(web); Result.Add( new PermissionInfo() { Type = "Site", Title = web.Title, Url = web.Url, PermissionType = permissionType, InternalObject = web, InheritUrl = GetInheritedUrl(web) }); if (permissionType.StartsWith("Inherit")) { if (!ExpandInheritedCheck.Checked) { return; } } string roleAssignment = string.Empty; int count = 0; foreach (SPRoleAssignment rolea in web.RoleAssignments) { roleAssignment = rolea.Member.ToString(); string permissionLevels = string.Empty; foreach (SPRoleDefinition roledef in rolea.RoleDefinitionBindings) { permissionLevels += roledef.Name + "; "; } Result.Add( new PermissionInfo() { RoleAssignments = roleAssignment, RoleType = GetRoleType(rolea.Member), Owner = GetOwner(rolea.Member), PermissionLevels = permissionLevels, UsersInGroup = GetUsersInGroup(roleAssignment, web), InternalObject = web } ); count++; } if (count == 0) { Result.Add(new PermissionInfo() { RoleAssignments = "(no assignments)" }); } } catch (Exception ex) { SquadronContext.HandleException(new ObjectException(web, ex)); _errorsOccurred = true; } }
private void ProcessList(SPList list) { SquadronContext.WriteDebugMessage("Entering ProcessList() " + _utility.GetDisplayName(list, true)); try { string type = "List"; if (list is SPDocumentLibrary) { type = "Library"; } string url = SPUtility.GetFullUrl(list.ParentWeb.Site, list.DefaultViewUrl); if (IsFilterDiscard(url)) { return; } string permissionType = GetPermissionType(list); var pinfo = new PermissionInfo() { Type = type, Title = list.Title, Url = url, PermissionType = permissionType, InternalObject = list, InheritUrl = GetInheritedUrl(list) }; Result.Add(pinfo); if (permissionType.StartsWith("Inherit")) { if (!ExpandInheritedCheck.Checked) { return; } } string roleAssignment = string.Empty; int count = 0; foreach (SPRoleAssignment rolea in list.RoleAssignments) { roleAssignment = rolea.Member.ToString(); string permissionLevels = string.Empty; foreach (SPRoleDefinition roledef in rolea.RoleDefinitionBindings) { permissionLevels += roledef.Name + "; "; } Result.Add( new PermissionInfo() { RoleAssignments = roleAssignment, RoleType = GetRoleType(rolea.Member), Owner = GetOwner(rolea.Member), PermissionLevels = permissionLevels, UsersInGroup = GetUsersInGroup(roleAssignment, list.ParentWeb), InternalObject = list.ParentWeb } ); count++; } if (count == 0) { Result.Add(new PermissionInfo() { RoleAssignments = "(no assignments)" }); } } catch (Exception ex) { SquadronContext.HandleException(new ObjectException(list, ex)); _errorsOccurred = true; } }
private string GetDisplay(object o) { string result = string.Empty; try { if (o is SPWebApplication) { result = (o as SPWebApplication).DisplayName; } else if (o is SPSite) { result = (o as SPSite).Url; } else if (o is SPWeb) { result = (o as SPWeb).Title; if (ShowUrlsChecked.Checked) { if (!ShowFlatCheck.Checked) { result += " [" + (o as SPWeb).Url + "]"; } } } else if (o is SPList) { result = (o as SPList).Title; if (ShowUrlsChecked.Checked) { if (!ShowFlatCheck.Checked) { result += " [" + (o as SPList).DefaultViewUrl + "]"; } } if (ShowItemCountCheck.Checked) { if (!ShowFlatCheck.Checked) { result += " (" + (o as SPList).Items.Count.ToString() + ")"; } } } else if (o is SPListItem) { result = (o as SPListItem).DisplayName; if (ShowVersionCountCheck.Checked) { if (!ShowFlatCheck.Checked) { result += " (" + (o as SPListItem).Versions.Count.ToString() + ")"; } } } } catch (Exception ex) { SquadronContext.HandleException(ex); } return(result); }
public HashSet <ADEntity> GetAll(string domain, bool groups, bool users, bool showStatusForUser) { HashSet <ADEntity> list = new HashSet <ADEntity>(); try { PrincipalContext context = null; if (string.IsNullOrEmpty(domain)) { context = new PrincipalContext(ContextType.Domain); } else { context = new PrincipalContext(ContextType.Domain, domain); } // Security Groups if (groups) { GroupPrincipal group = new GroupPrincipal(context); PrincipalSearcher searcher = new PrincipalSearcher(group); foreach (GroupPrincipal principal in searcher.FindAll()) { list.Add(new ADEntity() { Name = principal.Name, Description = principal.Description, LoginName = principal.SamAccountName, InternalObject = principal, Type = GetGroupType(principal), IsEnabled = IsEnabled(principal.GetUnderlyingObject() as DirectoryEntry) }); } } // Users if (users) { UserPrincipal userp = new UserPrincipal(context); PrincipalSearcher searcher = new PrincipalSearcher(userp); foreach (UserPrincipal principal in searcher.FindAll()) { list.Add(new ADEntity() { Name = principal.Name, // + GetStatus(showStatusForUser, principal), Description = principal.Description, LoginName = principal.SamAccountName, InternalObject = principal, Type = "User", IsEnabled = IsEnabled(principal.GetUnderlyingObject() as DirectoryEntry), }); } } } catch (Exception ex) { SquadronContext.HandleException(ex); } return(list); }
public IList <object> GetSharePointObjects( string url, bool webapp, bool sitecollection, bool website, bool listNLibrary, bool itemNdocument, string siteCollectionFilterUrl ) { IList <object> result = new List <object>(); SPSecurity.RunWithElevatedPrivileges(delegate() { SPWebApplication webApplication = SPWebApplication.Lookup(new Uri(url)); if (webApplication != null) { if (webapp) { result.Add(webApplication); } if (sitecollection || website || listNLibrary || itemNdocument) { foreach (SPSite site in webApplication.Sites) { if (!IsFilterValid(site.Url, siteCollectionFilterUrl)) { continue; } if (sitecollection) { result.Add(site); } if (website || listNLibrary || itemNdocument) { foreach (SPWeb web in site.AllWebs) { try { if (website) { result.Add(web); } if (listNLibrary || itemNdocument) { foreach (SPList list in web.Lists) { try { if (list.Hidden) { continue; } if (listNLibrary) { result.Add(list); } if (itemNdocument) { foreach (SPListItem item in list.Items) { if (itemNdocument) { result.Add(item); } } } } catch (Exception ex) { SquadronContext.HandleException(list, ex); } } } } catch (Exception ex) { SquadronContext.HandleException(web, ex); } } } } } } }); return(result); }
public void WebApplicationScope() { SquadronContext.WriteDebugMessage("Entering WebApplicationScope()"); SPWebApplication webApplication = SPWebApplication.Lookup(new Uri(GetUrl())); foreach (SPSite site in webApplication.Sites) { // Site if (SiteCheck.Checked) { foreach (SPWeb web in site.AllWebs) { ProcessWebSite(web); } } // List if (ListCheck.Checked) { foreach (SPWeb web in site.AllWebs) { foreach (SPList list in web.Lists) { if (!IsListDiscarded(list)) { ProcessList(list); } } } } // List Item if (ItemCheck.Checked) { foreach (SPWeb web in site.AllWebs) { foreach (SPList list in web.Lists) { if (!IsListDiscarded(list)) { try { foreach (SPListItem folder in list.Folders) { ProcessListItem(folder, "Folder"); } } catch (Exception ex) { SquadronContext.HandleException(ex); } try { foreach (SPListItem item in list.Items) { ProcessListItem(item, "Item"); } } catch (Exception ex) { SquadronContext.HandleException(ex); } } } } } } }
private void Delete() { var checkedItems = new List <NameEntity>(); foreach (NameEntity o in ItemsList.CheckedItems) { checkedItems.Add(o); } int errorCount = 0; SPSecurity.RunWithElevatedPrivileges(delegate() { foreach (NameEntity ne in checkedItems) { SPSecurableObject spso = ne.SecurableObject.InternalObject as SPSecurableObject; ne.Deleted = false; try { if (string.IsNullOrEmpty(ne.ContainerSPGroup)) { spso.RoleAssignments.Remove(ne.Principal); } else { RemoveUserFromSharePointGroup(ne, spso); } ne.Deleted = true; } catch (Exception ex) { SquadronContext.WriteMessage(ex.ToString()); errorCount++; ne.Deleted = false; } // Remove from Groups if (ne.Principal is SPGroup) { if (spso is SPWeb) { try { if (string.IsNullOrEmpty(ne.ContainerSPGroup)) { bool old = (spso as SPWeb).AllowUnsafeUpdates; (spso as SPWeb).AllowUnsafeUpdates = true; (spso as SPWeb).Update(); (spso as SPWeb).SiteGroups.Remove(ne.Principal.Name); (spso as SPWeb).AllowUnsafeUpdates = old; (spso as SPWeb).Update(); } ne.Deleted = true; } catch (Exception ex) { SquadronContext.HandleException(spso, ex); errorCount++; ne.Deleted = false; } } } if (ne.Deleted) { ItemsList.Items.Remove(ne); } } }); // Display if (errorCount > 0) { SquadronContext.Info("Error(s) occured. Please see the master log for details!"); } }