After creating a console application project in Visual Studio solution, add the below assembly references to the project.
Microsoft.SharePoint.Client
Microsoft.SharePoint.Client.Runtime
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint.Client;
using System.Net;
namespace GetAssociatedGroups
{
class Program
{
static void Main(string[] args)
{
//Get Site Url fro user
Console.Write("Enter Site URL: ");
string strURL = Console.ReadLine();
//Get Username from user in the format of (Domain/Login ID)
Console.Write("Enter UserName (domain/userid): ");
string strUserName = Console.ReadLine();
Console.Write("Enter your password: ");
string pass = getPassword();
Console.WriteLine();
ClientContext ctx = new ClientContext(strURL);
ctx.Credentials = new NetworkCredential(strUserName, pass);
Web web = ctx.Web;
//Parameters to receive response from the server
//AssociatedOwnerGroup returns the Site Owners group
//AssociatedMemberGroup returns the Site Members group
//AssociatedVisitorGroup returns the Site Visitors group
//The above properties should be passed in Load method to get the value
ctx.Load(web, w => w.AssociatedOwnerGroup, w=> w.AssociatedMemberGroup, w=> w.AssociatedVisitorGroup, w => w.Title);
ctx.ExecuteQuery();
Console.WriteLine("Associated groups for Site \"" + web.Title + "\"");
Console.WriteLine("*************************************************");
Console.WriteLine("Owner Group: " + web.AssociatedOwnerGroup.Title);
Console.WriteLine("Member Group: " + web.AssociatedMemberGroup.Title);
Console.WriteLine("Visitor Group: " + web.AssociatedVisitorGroup.Title);
Console.Read();
}
private static string getPassword()
{
ConsoleKeyInfo key;
string pass = "";
do
{
key = Console.ReadKey(true);
// Backspace Should Not Work
if (key.Key != ConsoleKey.Backspace && key.Key != ConsoleKey.Enter)
{
pass += key.KeyChar;
Console.Write("*");
}
else
{
if (key.Key == ConsoleKey.Backspace && pass.Length > 0)
{
pass = pass.Substring(0, (pass.Length - 1));
Console.Write("\b \b");
}
}
}
// Stops Receving Keys Once Enter is Pressed
while (key.Key != ConsoleKey.Enter);
return pass;
}
}
}