Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Introduction
This wiki has been created to consolidate the SharePoint PS snippets we use on our day to day SharePoint activities.
General
Adding the SharePoint SNAPIN
# Add SharePoint Snapin to PowerShell
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null)
{
Add-PSSnapin Microsoft.SharePoint.PowerShell
}
Solution Deployment
Add solution to farm
#Replace the wsp path with the actual path of your wsp
Add-SPSolution -LiteralPath C:\Rajesh\Sample.wsp
Deploy Solution
#Replace the wsp name and WebApplication url
Install-SPSolution -Identity Sample.wsp -WebApplication "http://contoso.com" –GACDeployment
There are multiple parameters to the install-spsolution cmdlet, refer to http://technet.microsoft.com/en-us/library/ff607534.aspx
Remove Solution
#Replace the wsp name and WebApplication url
Uninstall-SPSolution -Identity Sample.wsp -WebApplication
Enable Feature
#Replace the feature identity and WebApplication url
Enable-SPFeature –identity "Rajesh.CustomFeature1" -URL "http://contoso.com"
Disable Feature
#Replace the feature identity and WebApplication url
Disable-SPFeature –identity "Rajesh.CustomFeature1" -URL "http://contoso.com"
Uninstall Feature
#Removes the feature definition from the farm.
#Replace the feature identity
Uninstall-SPFeature –identity "Rajesh.CustomFeature1”
Branding
Changing the master page on all sites at site collection
#Replace the site-url with the actual site url
$site = Get-SPSite "http://contoso.com"
foreach ($web in $site.AllWebs) {
#change the master url accordingly
$web.CustomMasterUrl = "/_catalogs/masterpage/V4.master";
$web.Update();
$web.Dispose();
}
foreach ($web in $site.AllWebs) {
#change the master url accordingly
$web.MasterUrl = "/_catalogs/masterpage/v4.master";
$web.Update();
$web.Dispose();
}
$site.Dispose();
Set Alternate CSS
#Replace the site-url with the actual site url
$web = Get-SPWeb "http://contoso.com"
#Replace the css url accordingly
$web.AlternateCssUrl = "/Style Library/MyStyles/main.css";
$web.AllProperties["__InheritsAlternateCssUrl"] = $True;
$web.Update();
$web.Dispose();
Set regional setting/locale
#Replace the site-url with the actual site url
$site = Get-SPSite "http://contoso.com"
foreach ($web in $site.AllWebs) {
#Change the Web locale as required, below is for US Eng
$web.Locale = 1033;
$web.Update();
$web.Dispose()
}
$site.Dispose()
Document Library
Delete document by name from Document Library
$site = new-object Microsoft.SharePoint.SPSite("site-url")
$web = $site.openweb()
$list=$web.Lists["Document-Library-Name "]
$listItems = $list.Items
$listItemsTotal = $listItems.Count
Write-Host $listItemsTotal
for ($x=$listItemsTotal-1;$x -ge 0; $x--)
{
if($listItems[$x].name.Contains("file")) # file refers to the name of the document
{
Write-Host("DELETED: " + $listItems[$x].name)
$listItems[$x].Delete()
}
}
Site Management
Delete all sites in the given site
# completely deletes the specified Web (including all sub sites)
function RemoveSPWebRecursively( [Microsoft.SharePoint.SPWeb] $web)
{
Write-Debug "Removing site ($($web.Url))..."
$subwebs = $web.GetSubwebsForCurrentUser()
foreach($subweb in $subwebs)
{
RemoveSPWebRecursively($subweb)
$subweb.Dispose()
}
$DebugPreference = "SilentlyContinue"
Remove-SPWeb $web -Confirm:$false
$DebugPreference = "Continue"
}
$DebugPreference = "SilentlyContinue"
#Replace the site-url with the actual site url
$web = Get-SPWeb "http://contoso.com/subsite1"
$DebugPreference = "Continue"
If ($web -ne $null)
{
RemoveSPWebRecursively $web
$web.Dispose()
}
Power-shell SharePoint 2010 Developer Dashboard activate the developer dashboard
$service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$addsetting =$service.DeveloperDashboardSettings
$addsetting .DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand
$addsetting .Update()
Other languages
This article is also available in the following languages: