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.
In SharePoint 2010 PowerShell should be used to deploy solutions and enable features. There are a number of cmdlets used in this process.
PowerShell Cmdlets
To add a solution to SharePoint previously used:
- · Stsadm –o addsolution
In PowerShell you should now use:
- · Add-SPSolution -LiteralPath c:\contoso_solution.wsp
- · https://technet.microsoft.com/en-us/library/ff607552.aspx
Once the solution is added to SharePoint you will need to install the solution for the webapplication[s] where you would like to use. Previously the command used was:
- · Stsadm –o Deploysolution
In PowerShell you should now use:
- · Install-SPSolution -Identity contoso_solution.wsp –webapplicaton https://<url_of_webapplication> -GACDeployment
- · https://technet.microsoft.com/en-us/library/ff607534.aspx
Once the Solution has been deployed you then need to enable the features that the solution installed. Previously the command used was:
- · Stsadm –o Activatefeature
In PowerShell you should now use:
- · Enable-SPFeature –identity "MyCustom" -URL https://somesite
- · https://technet.microsoft.com/en-us/library/ff607803.aspx
Resources
These cmdlets should allow you to deploy and enable features. There are many more commands for creating feature packs, removing freatures and solutions. They can be found here: https://technet.microsoft.com/en-us/library/ee906565.aspx
Stsadm command to PowerShell cmdlets mapping information can be found here: https://technet.microsoft.com/en-us/library/ff621084.aspx
I’ve borrowed and made a simple modification to a script from the Technet Script Center that automates this process. As with any script I cannot guarantee that this script will have the results you expect in your environment. Standard disclaimers apply…
The one modification I would make to this script starts at line 112. Below I’ve added a looping structure that should allow you to enable more than one feature.
$featureList = Get-SPFeature | where {$_.SolutionID -eq $solution.ID}
foreach ($feature in $featureList) {
Write-Host "Going to enable Feature {0}" -f $feature.DisplayName
Enable-spfeature -identity $feature.DisplayName -url $url -confirm:$false
Write-Host -ForegroundColor Green 'Feature enabled'
}
This should get you started with using PowerShell to administer your SharePoint farm[s]
/ip