是否有办法让所有用户在网站集和子网站级别拥有“完全控制”权限并将其角色更改为其他内容? PowerShell将是理想的,但如果这是唯一的方法,CSOM也会很好。我知道我可以按角色分组,但我需要一种方法来获得明确添加的用户。
我尝试了这个较旧的StackOverflow问题:Get all the users based on a specific permission using CSOM in SharePoint 2013但是我在第一个ctx.ExecuteQuery()上不断收到403禁用错误;对于所有网站,即使我是收藏管理员。我也想知道是否有人有PowerShell方法来做这件事。
答案 0 :(得分:0)
您需要SharePoint Online Management shell通过Powershell建立与O365的连接。
答案 1 :(得分:0)
根据错误消息,我怀疑您的代码中缺少凭证。
请尝试以下代码,让我知道它是否适用于您。
static void Main(string[] args)
{
var webUrl = "[your_site_url]";
var userEmailAddress = "[your_email_address]";
using (var context = new ClientContext(webUrl))
{
Console.WriteLine("input your password and click enter");
context.Credentials = new SharePointOnlineCredentials(userEmailAddress, GetPasswordFromConsoleInput());
context.Load(context.Web, w => w.Title);
context.ExecuteQuery();
Console.WriteLine("Your site title is: " + context.Web.Title);
//Retrieve site users
var users = context.LoadQuery(context.Web.SiteUsers);
context.ExecuteQuery();
foreach(var user in users)
{
Console.WriteLine(user.Email);
}
}
}
private static SecureString GetPasswordFromConsoleInput()
{
ConsoleKeyInfo info;
SecureString securePassword = new SecureString();
do
{
info = Console.ReadKey(true);
if (info.Key != ConsoleKey.Enter)
{
securePassword.AppendChar(info.KeyChar);
}
}
while (info.Key != ConsoleKey.Enter);
return securePassword;
}
}