client创建组并将其添加到sharepoint站点

client创建组并将其添加到sharepoint站点

本文介绍了如何使用Sharepoint.client创建组并将其添加到sharepoint站点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直试图让这一整天工作,而且不想工作。我正在构建一个应用程序,将三个默认组添加到站点,希望清理权限。我要向您展示的代码将创建组,但在我转到权限时它们不会显示。它只是基本上创建了这个组,就是这样。



使用System; 
使用System.Collections.Generic;使用System.ComponentModel
;使用System.Drawing
;
使用System.Data;
使用System.Linq;
使用System.Text;
使用System.Windows.Forms;
使用Microsoft.SharePoint.Client;


private void CreateMainGroups(string siteurl,string SiteName)
{
// method为站点创建一个defualt访问者,贡献者和完全控制组。
//向网站添加新的自定义组

ClientContext context = new ClientContext(siteurl);

Web web = context.Web;
//查看组是否存在
context.Load(web.SiteGroups);
context.ExecuteQuery();
Group Admin =(来自web.SiteGroups中的g,其中g.Title == SiteName +Owners选择g).SingleOrDefault();
Group Visitor =(来自web.SiteGroups中的g,其中g.Title == SiteName +Visitors选择g).SingleOrDefault();
Group Members =(来自web.SiteGroups中的g,其中g.Title == SiteName +Members选择g).SingleOrDefault();




if(Admin == null)
{
//如果不存在则创建管理组
GroupCreationInformation groupCreationInfoAdmin = new GroupCreationInformation();
groupCreationInfoAdmin.Title = SiteName +Owners;
groupCreationInfoAdmin.Description =使用此组为人们提供对SharePoint网站的完全控制权限:+ SiteName;
Admin = web.SiteGroups.Add(groupCreationInfoAdmin);

}

if(Members == null)
{
//如果不存在则创建贡献者组
GroupCreationInformation groupCreationInfoContribut = new GroupCreationInformation();
groupCreationInfoContribut.Title = SiteName +Members;
groupCreationInfoContribut.Description =使用此组为人们提供SharePoint网站的权限:+ SiteName;
Members = web.SiteGroups.Add(groupCreationInfoContribut);

}

if(访客== null)
{
//创建访客群组,如果它不存在
GroupCreationInformation groupCreationInfoVisitors = new GroupCreationInformation();
groupCreationInfoVisitors.Title = SiteName +Visitors;
groupCreationInfoVisitors.Description =使用此组授予人们对SharePoint网站的读取权限:+ SiteName;
Visitor = web.SiteGroups.Add(groupCreationInfoVisitors);

}



//分配站点角色这是它应该将组分配给Web上的关联组的问题区域但是它永远不会奏效

web.AssociatedOwnerGroup = Admin;
web.AssociatedOwnerGroup.Update();
Admin.Update();

web.AssociatedVisitorGroup =访客;
web.AssociatedVisitorGroup.Update();
Visitor.Update();

web.AssociatedMemberGroup =会员;
web.AssociatedMemberGroup.Update();
Members.Update();

web.Update();



context.ExecuteQuery();






}





我在这里错过了什么吗?任何帮助将不胜感激。

解决方案

I have been trying to get this to work all day and its just not wanting to work. I am building a application to add the three default groups to sites in hopes of cleaning up permissions. The code I am about to show you will create the groups but they will not show up when i go to permissions. It just basicly creates the group and thats it.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.SharePoint.Client;


private void CreateMainGroups(string siteurl, string SiteName)
        {
          //method creates a defualt visitor, contributor and full control group for a site.
            // Add a new custom group to the site

            ClientContext context = new ClientContext(siteurl);

            Web web = context.Web;
            //See if the groups exist
            context.Load(web.SiteGroups);
            context.ExecuteQuery();
            Group Admin = (from g in web.SiteGroups where g.Title == SiteName + " Owners" select g).SingleOrDefault();
            Group Visitor = (from g in web.SiteGroups where g.Title == SiteName + " Visitors" select g).SingleOrDefault();
            Group Members = (from g in web.SiteGroups where g.Title == SiteName + " Members" select g).SingleOrDefault();




            if (Admin == null)
            {
                //Create the Admin Group if it dont exist
                GroupCreationInformation groupCreationInfoAdmin = new GroupCreationInformation();
                groupCreationInfoAdmin.Title = SiteName + " Owners";
                groupCreationInfoAdmin.Description = " Use this group to give people full control permissions to the SharePoint site: " + SiteName;
                Admin = web.SiteGroups.Add(groupCreationInfoAdmin);

            }

            if(Members == null)
            {
            //Create the Contributer Group  if it dont exist
            GroupCreationInformation groupCreationInfoContribut = new GroupCreationInformation();
            groupCreationInfoContribut.Title = SiteName + " Members";
            groupCreationInfoContribut.Description = "Use this group to give people contribute permissions to the SharePoint site: "+ SiteName;
            Members = web.SiteGroups.Add(groupCreationInfoContribut);

            }

            if(Visitor == null)
            {
            //Create the Visitor Group  if it dont exist
            GroupCreationInformation groupCreationInfoVisitors = new GroupCreationInformation();
            groupCreationInfoVisitors.Title = SiteName + " Visitors";
            groupCreationInfoVisitors.Description = "Use this group to grant people read permissions to the SharePoint site: " + SiteName;
            Visitor = web.SiteGroups.Add(groupCreationInfoVisitors);

            }



            //Assign site roles This is the problem area it's supposed to assign the group to the associated group on the web but it never works.

            web.AssociatedOwnerGroup = Admin;
            web.AssociatedOwnerGroup.Update();
            Admin.Update();

            web.AssociatedVisitorGroup = Visitor;
            web.AssociatedVisitorGroup.Update();
            Visitor.Update();

            web.AssociatedMemberGroup = Members;
            web.AssociatedMemberGroup.Update();
            Members.Update();

            web.Update();



            context.ExecuteQuery();






        }



Am I missing something here? Any help would be appreciated.

解决方案


这篇关于如何使用Sharepoint.client创建组并将其添加到sharepoint站点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 06:33