Kashif Nizam Qureshi

Leave a comment

Passing SSRS Parameter Through URL To Report Viewer SharePoint Mode

Following URL is being used to access a page where a Report Viewer web part is placed. Note the URL contains report parameter as well. This won’t work unless we connect the web part with Query String (URL) Filter web part as shown below.



Leave a comment

Passing Parameter to SSRS Reports Through URL

Following is an example of one report being accessed via URL with one paramater as a querystring. Notice rp: is being used just before actual paramater, also parameter is case-sensitive.


Leave a comment

Enabling Remote Error for SSRS Reporting Service


Enable Remote errors for a Reporting Services Service Application
For a SharePoint mode report server installed with SQL Server 2012 or a newer version of Reporting Services, enable the service application setting Enable remote errors. The setting can be configured for each Reporting Services service application.
In SharePoint Central Administration, click Manage service applications in the Application Management group.
Find your Reporting Services service application and click the name of your service application.
Click System Settings.
Click Enable Remote Errors in the Security section.
Click OK.

Enable Remote Errors for a SharePoint Site
For a SharePoint mode report server installed with a version of Reporting Services prior to SQL Server 2012, enable the site setting Enable remote errors in local mode.
In Site Actions click Site Settings for the site you want to modify.
Click Reporting Services Site Settings in the Reporting Services group.
Click Enable remote errors in local mode.
Click OK

Leave a comment

Removing Unnecessary Permission Level Project Server

PWA sync with SharePoint groups, in order to give permission to users to access sites (PWA and/or Project Site). By default users have delete and other unnecessary permissions. Best way is to remove it from Permission Level using task scheduler as PWA revert back permission level whenever you update user’s group. To view whole list of base permission click here.

Following code applies permissions to Project Manager permission level defined in base permissions.

$site=Get-SPSite http://Server/PWA


$contributePermissionLevel=$web.RoleDefinitions["Project Managers (Microsoft Project Web App)"]

$contributePermissionLevel.BasePermissions="ViewListItems, OpenItems, ViewVersions, ManagePersonalViews, ViewFormPages, Open, ViewPages, CreateSSCSite, BrowseDirectories, BrowseUserInfo, AddDelPrivateWebParts, UpdatePersonalWebParts, UseClientIntegration, UseRemoteAPIs, CreateAlerts, EditMyUserInfo"




Leave a comment

BasePermissions of Permissions Level for using in PowerShell

List Permissions
ManageLists Manage Lists – Create and delete lists, add or remove columns in a list, and add or remove public views of a list.
BreakCheckout Override List Behaviors – Discard or check in a document which is checked out to another user, and change or override settings which allow users to read/edit only their own items
AddListItems Add Items – Add items to lists and add documents to document libraries.
EditListItems Edit Items – Edit items in lists, edit documents in document libraries, and customize Web Part Pages in document libraries.
DeleteListItems Delete Items – Delete items from a list and documents from a document library.
ViewListItems ViewListItems View Items – View items in lists and documents in document libraries.
ApproveItems Approve Items – Approve a minor version of a list item or document.
OpenItems Open Items – View the source of documents with server-side file handlers.
ViewVersions View Versions – View past versions of a list item or document.
DeleteVersions Delete Versions – Delete past versions of a list item or document.
CreateAlerts Create Alerts – Create alerts.
ViewFormPages View Application Pages – View forms, views, and application pages. Enumerate lists.
Site Permissions
ManageRoles Manage Permissions – Create and change permission levels on the Web site and assign permissions to users and groups.
ViewUsageData View Web Analytics Data – View reports on Web site usage.
ManageSubwebs Create Subsites – Create subsites such as team sites, Meeting Workspace sites, and Document Workspace sites.
ManageWeb Manage Web Site – Grants the ability to perform all administration tasks for the Web site as well as manage content.
WriteWebPages Add and Customize Pages – Add, change, or delete HTML pages or Web Part Pages, and edit the Web site using a Microsoft SharePoint Foundation-compatible editor.
ThemeWeb Apply Themes and Borders – Apply a theme or borders to the entire Web site.
LinkStyleSheet Apply Style Sheets – Apply a style sheet (.CSS file) to the Web site.
CreatePersonalGroups Create Groups – Create a group of users that can be used anywhere within the site collection.
BrowseDirectories Browse Directories – Enumerate files and folders in a Web site using SharePoint Designer and Web DAV interfaces.
CreateSSCSite Use Self-Service Site Creation – Create a Web site using Self-Service Site Creation.
ViewPages View Pages – View pages in a Web site.
EnumeratePermissions Enumerate Permissions – Enumerate permissions on the Web site, list, folder, document, or list item.
BrowseUserInfo Browse User Information – View information about users of the Web site.
ManageAlerts Manage Alerts – Manage alerts for all users of the Web site.
UseRemoteAPIs Use Remote Interfaces – Use SOAP, Web DAV, the Client Object Model or SharePoint Designer interfaces to access the Web site.
UseClientIntegration Use Client Integration Features – Use features which launch client applications. Without this permission, users will have to work on documents locally and upload their changes.
Open Open – Allows users to open a Web site, list, or folder in order to access items inside that container.
EditMyUserInfo Edit Personal User Information – Allows a user to change his or her own user information, such as adding a picture.
Personal Permissions
ManagePersonalViews Manage Personal Views – Create, change, and delete personal views of lists.
AddDelPrivateWebParts Add/Remove Personal Web Parts – Add or remove personal Web Parts on a Web Part Page.
UpdatePersonalWebParts Update Personal Web Parts – Update Web Parts to display personalized information.

Leave a comment

Update Projects Sites’ Write Security Option Through PowerShell

Following will iterate over all the sites within the specified site collection and updates specified lists’ write security.

#Change these variables to your site URL and list name

$site = Get-SPSite http://dhldepmweb01/PWA

$listName1 = "Assumptions and Constraints"

$listName2 = "Risks"

$listName3 = "Issues"

$listName4 = "Projects Dependent On This Project"

$listName5 = "Projects On Which This Project Depends"

#Walk through each site in the site collection

$site | Get-SPWeb -limit all| ForEach-Object {



if(!($_.Title.ToLower().Contains("template") -or $_.URL.ToLower().Contains("template")) -And !($_.Title.ToLower().Contains("Business Intelligence Center") -or $_.URL.ToLower().Contains("Business Intelligence Center")))


write-output("Checking site:"+$_.Title + " URL: "+$_.URL)

#Get the list in this site

$list1 = $_.Lists[$listName1]

$list2 = $_.Lists[$listName2]

$list3 = $_.Lists[$listName3]

$list4 = $_.Lists[$listName4]

$list5 = $_.Lists[$listName5]

if($list1.WriteSecurity -eq 1 -Or $list2.WriteSecurity -eq 1 -Or $list3.WriteSecurity -eq 1 -Or $list4.WriteSecurity -eq 1)



#Either of the following would work

write-output($list1.Title+": "+ $list1.WriteSecurity)

$list2.Title+": "+ $list2.WriteSecurity

$list3.Title+": "+ $list3.WriteSecurity

$list4.Title+": "+ $list4.WriteSecurity

$list5.Title+": "+ $list5.WriteSecurity

#write-output("about to update")

#Make the list changes

$list1.WriteSecurity = 2

$list2.WriteSecurity = 2

$list3.WriteSecurity = 2

$list4.WriteSecurity = 2

$list5.WriteSecurity = 2

#Update the list






#write-output("Site updated")

write-output("Site Updated")




#write-output("Site already updated")





write-output("Template or Explicitly defined Site not updated: "+$_.Title +" URL:"+$_.URL)



#Dispose of the site object


Get every new post delivered to your Inbox.