Get site permissions using SharePoint 2010 web service in powershell

Navigate to the SharePoint site. Click on Site Actions and then click on Site Settings. In the User and Permissions section, click on Site Permissions. You could be able to view all the permissions for the site.

Steps Involved:

  1. Open SharePoint 2010 Management Shell by going to Start | All Programs | SharePoint | Microsoft SharePoint 2010 Products | SharePoint 2010 Management Shell (Run as Administrator).
  2. Run the following script.

Powershell Script:

 
 
## Get site permissions using SharePoint 2010 web service in powershell
$uri="http://serverName:10736/sites/ECT2/_vti_bin/Permissions.asmx?wsdl"
## $siteName is a string which contains the site name for which you need to get the permissions
[
String]$siteName="ECT2"
## $type is a string which contains the object type - List
[
String]$type="Web"

## Web Service Reference - http://Site/_vti_bin/Permissions.asmx
$permissionWebServiceReference = New-WebServiceProxy -Uri $uri -UseDefaultCredential
[
System.Xml.XmlNode]$xmlNode=$permissionWebServiceReference.GetPermissionCollection($siteName,$type)

## Creates an GetSitePermissions.xml file in the D:\ which contains the permissions for the site
$output = New-Object -TypeName System.IO.StreamWriter -ArgumentList "D:\GetSitePermissions.xml", $false
$output.WriteLine("<?xml version=""1.0"" encoding=""utf-8"" ?>")
$output.WriteLine($xmlNode.OuterXml)
$output.WriteLine()
$output.Dispose()


Output: GetSitePermissions.xml

output.jpg