Neben der altbekannten Möglichkeit WSP’s via stsadm zu deployen, kann man mit SharePoint 2010 nun auch PowerShell verwenden um eigene Solutions in den SharePoint zu integrieren.
Die neue SharePoint Administrationskonsole, welche sich im Startmenü befindet, ist nichts anderes wie eine PowerShell Instanz, bei der bereits das SnapIn für SharePoint geladen ist.
Wenn man allerdings die “normale” PowerShell startet muss das SnapIn zunächst geladen werden, damit man auf die SharePoint 2010 cmdlets Zugriff hat.
Das cmdlet Add-PSSnapin kann hierfür verwendet werden. Mit
Add-PSSnapin Microsoft.SharePoint.PowerShell
werden die nötigen Elemente aus der DLL geladen.
Das SharePoint Snapin beinhaltet mehr als 500 cmdlets die man verwenden kann um eine SharePoint Instanz zu administrieren.
Get-Command –PSSnapin Microsoft.SharePoint.PowerShell
liefert eine Liste all dieser Kommandos.
Eine Solution installieren
Um ein WSP im SharePoint zu installieren muss zunächst Add-SPSolution ausgeführt werden. Das cmdlet bekommt als einzigen Parameter den absoluten Pfad zum WSP.
Add-SPSolution c:\MySharePoint2010Solution.wsp
Wichtig ist dass der Pfad absolut angegeben wird. Eine relative Angabe hat bei meiner Instanz nicht funktioniert.
Nach erfolgreicher Installation eines Packages muss dieses auf die entsprechende WebApplikation ausgeliefert werden.
Eine Solution deployen
Analog zur Installation wird eine Solution mittels Install-SPSolution auf eine WebApplikation delpoyed. Hierbei müssen diverse Parameter angegeben werden:
- Identity
- Name der WSP (MySharePoint2010Solution.wsp)
- WebApplication
- GACDeployment
- optional, gibt an ob die DLL’s der Solution in den Global Assembly Cache (GAC) kopiert werden sollen
Demnach ergibt sich folgender Aufruf
Install-SPSolution –identity MySharePoint2010Solution.wsp –WebApplication http://mySharePoint2010Server –GACDeployment
Eine genaue Auflistung aller Parameter kann durch das Get-Help cmdlet der PowerShell abgefragt werden
Get-Help Install-SPSolution
Deployment einer Solution rückgängig machen
Wenn man eine Solution wieder von einer WebApplikation entfernen möchte, bietet das SharePoint Snapin auch das nötige cmdlet. Durch Uninstall-SPSolution kann die gewünschte Solution entfernt werden
Uninstall-SPSolution –Identity MySharePoint2010Solution.wsp –WebApplication http://mySharePoint2010Server
Eine Solution deinstallieren
Als Pendant zu Add-SPSolution gibt es auch das cmdlet Remove-SPSolution, mit dessen Hilfe man ganz einfach eine Solution deinstallieren kann.
Remove-SPSolution –Identity MySharePoint2010Solution.wsp
Sandboxed Solutions
Sandboxed Solutions können ebenfalls mit der PowerShell installiert, deployed, entfernt und deinstalliert werden. Hierbei heißen die cmdlets lediglich etwas anders
- Add-SPUserSolution
- Install-SPUserSolution
- Uninstall-SPUserSolution
- Remove-SPUserSolution