Powershell zur SharePoint Administration
Auch für den Entwickler ist es nützlich einige Tasks automatisieren zu können. Im Exchange-Umfeld ist die Powershell bereits seit der Version 2007 etabliert, für die SharePoint-Welt hat sie mich noch nicht so wirklich entdeckt. Es gibt jedoch auf Codeplex eine schöne Erweiterung die es möglich macht SharePoint-Objekte (z:B. Sites) zu instantiieren und deren Metadaten auszulesen oder zu setzen.
Zunächst einmal PowerShell 1.0 downloaden: PowerShell und auf einem Web-Frontend-Server installieren.
In der Powershell folgende Befehle ausführen:
set-executionpolicy RemoteSigned
[System.Reflection.Assembly]::Load(”Microsoft.SharePoint,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”)
[System.Reflection.Assembly]::Load(”Microsoft.SharePoint.Portal,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”)
oder besser die Zeilen in eine eigene Datei unter:
C:\Documents and Settings\username\My Documents\Microsoft.PowerShell_profile.ps1
ablegen, dann werden diese automatisch beim Start der Powershell ausgeführt.
Was kann ich nun damit machen ?
Eigentlich das ganze WSS Objektmodell verwenden. Eine Site kann man wie folgt instanttieren:
$SiteName = “https://moss.litwareinc.com/”
$WebName = “/proposal/”
$mossSite = new-object Microsoft.SharePoint.SPSite($SiteName);
$mossWeb = $MossSite.AllWebs[$WebName];
Die Metadaten der Site bekommt man dann wie folgt:
$item.Fields | format-table InternalName
Und wenn ich mir jetzt vorstelle wie ich die leistungsfähige Powershell mit dem WSS Objektmodell kombinieren kann .... dann wird die SharePoint Administration nicht zum Kinderspiel aber mal eben einige Metadaten aus Objekten auslesen oder setzen kann dann auch mal ohne Visual Studio geschehen
viel Spass beim Probieren
Sven
Comments
Anonymous
September 08, 2008
PingBack from http://www.easycoded.com/powershell-zur-sharepoint-administration/Anonymous
October 06, 2008
Ein interessanter Weg Eigenschaften einer (Team-)Site zu speichern sind die Property-Bags, diese sind