Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Sharepoint 2010 - Umgang mit Disposable Objekten in PowerShell

Durch die Integration von PowerShell in SharePoint 2010 geht Microsoft end­lich einen Weg in die rich­tige Richtung. Schon im Beta Status sind sehr viele STSADM Befehle ent­fernt und nur sehr wenige hin­zu­ge­fügt wur­den. Ungefähr 20 Befehle wur­den ent­fernt und nur 6 hin­zu­ge­fügt. Dies ist ein­fach nach­zu­voll­zie­hen in dem

stsadm -help

jeweils auf einem Sharepoint 2007 System und auf einem Sharepoint 2010 System aus­ge­führt und anschlie­ßend die Ausgabe ver­gli­chen wird. Ich finde die­sen Weg rich­tig cool. Wahrscheinlich weil ich mich mit STSADM nie so rich­tig anfreun­den konnte.

PowerShell eröff­net dem geneig­ten Administrator oder Entwickler jetzt voll­kom­men neue Ansätze Sharepoint zu admi­nis­trie­ren.

Jeder Entwickler , wel­cher mit dem Sharepoint Objekt Modell schon etwas ver­traut ist, wird ver­mut­lich wis­sen, dass Instanzen von SPSite, SPWeb oder im all­ge­mei­nen alle Klassen wel­che IDisposable implem­tie­ren, sehr viele Ressourcen ver­brau­chen kön­nen. Gleich zum Start hat das Sharepoint Team nun zwei CMDLETS ent­wi­ckelt wel­che den Umgang mit Disposable Objekten ver­ein­fa­chen sol­len und uns das Leben erleich­tern.

Start-SPAssigment
Stop-SPAssigment

Es gibt drei Levels des Assignments.

  • No Assignment
  • Simple Assignment
  • Advanced Assignment

No Assignment

Diesen Weg sollte jeder ken­nen. Es wird ein SPWeb Objekt erstellt, wel­ches ver­ar­bei­tet aber nicht mehr dis­po­sed wird.

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

Simple Assignment

Beim "simple assign­ment" wer­den alle Objekte dem "glo­bal assign­ment store" zuge­wie­sen. 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 "advan­ced assign­ment" wer­den alle Objekte einem "named store" zuge­wie­ß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 beach­ten wäre noch dass beim Schließen der PowerShell alle Objekte "dis­po­sed" wer­den.

Related Posts

Sharepoint 2010 – Umgang mit Disposable Objekten in PowerShell : im #Communardo #Techblog http://bit.ly/3oY0r
This com­ment was ori­gi­nally pos­ted on Twitter

Sharepoint 2010 – Umgang mit Disposable Objekten in PowerShell : im #Communardo #Techblog http://bit.ly/3oY0r
This com­ment was ori­gi­nally pos­ted on Twitter

#SharePoint 2010 – Umgang mit Disposable Objekten in #PowerShell http://ow.ly/CXYC #fb
This com­ment was ori­gi­nally pos­ted on Twitter

#SharePoint 2010 – Umgang mit Disposable Objekten in #PowerShell http://ow.ly/CY0p #fb
This com­ment was ori­gi­nally pos­ted on Twitter

Comments are closed.

Pin It on Pinterest