Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
+49 (0) 351/850 33-0

Sharepoint 2010 – Umgang mit Disposable Objekten in PowerShell

Durch die Integration von PowerShell in SharePoint 2010 geht Microsoft endlich einen Weg in die richtige Richtung. Schon im Beta Status sind sehr viele STSADM Befehle entfernt und nur sehr wenige hinzugefügt wurden. Ungefähr 20 Befehle wurden entfernt und nur 6 hinzugefügt. Dies ist einfach nachzuvollziehen in dem

stsadm -help

jeweils auf einem Sharepoint 2007 System und auf einem Sharepoint 2010 System ausgeführt und anschließend die Ausgabe verglichen wird. Ich finde diesen Weg richtig cool. Wahrscheinlich weil ich mich mit STSADM nie so richtig anfreunden konnte.

PowerShell eröffnet dem geneigten Administrator oder Entwickler jetzt vollkommen neue Ansätze Sharepoint zu administrieren.

Jeder Entwickler , welcher mit dem Sharepoint Objekt Modell schon etwas vertraut ist, wird vermutlich wissen, dass Instanzen von SPSite, SPWeb oder im allgemeinen alle Klassen welche IDisposable implemtieren, sehr viele Ressourcen verbrauchen können. Gleich zum Start hat das Sharepoint Team nun zwei CMDLETS entwickelt welche den Umgang mit Disposable Objekten vereinfachen sollen und uns das Leben erleichtern.

Start-SPAssigment
Stop-SPAssigment

Es gibt drei Levels des Assignments.

  • No Assignment
  • Simple Assignment
  • Advanced Assignment

No Assignment

Diesen Weg sollte jeder kennen. Es wird ein SPWeb Objekt erstellt, welches verarbeitet aber nicht mehr disposed wird.

$web = Get-SPWeb "http://localhost"
$web.Title = "Hallo SharePoint Usergroup"
$web.Update()

Simple Assignment

Beim „simple assignment“ werden alle Objekte dem „global assignment store“ zugewiesen. Der Aufruf erfolgt per

Start-SPAssignment -Global

Das „Disposen“ aller Objekte erfolgt beim Aufruf von

Stop-SPAssignment
Start-SPAssignment -Global
$web = Get-SPWeb "http://localhost"
$web.Title = "Hallo SharePoint Usergroup"
$web.Update()
Stop-SPAssignment -Global

Advanced Assignment

Beim „advanced assignment“ werden alle Objekte einem „named store“ zugewießen. Das „Disposen“ erfolgt durch den Aufruf von Stop-SPAssignment  -Bezeichner

$gc = Start-SPAssignment
$site = $gc | Get-SPSite "http://localhost"
$site.Allwebs
$gc | Stop-SPAssignment

Zu beachten wäre noch dass beim Schließen der PowerShell alle Objekte „disposed“ werden.

Sharepoint 2010 – Umgang mit Disposable Objekten in PowerShell : im #Communardo #Techblog http://bit.ly/3oY0r
This comment was originally posted on Twitter

Sharepoint 2010 – Umgang mit Disposable Objekten in PowerShell : im #Communardo #Techblog http://bit.ly/3oY0r
This comment was originally posted on Twitter

#SharePoint 2010 – Umgang mit Disposable Objekten in #PowerShell http://ow.ly/CXYC #fb
This comment was originally posted on Twitter

#SharePoint 2010 – Umgang mit Disposable Objekten in #PowerShell http://ow.ly/CY0p #fb
This comment was originally posted on Twitter

Kommentar hinterlassen


Pin It on Pinterest