Friday, 24 September 2010

Easy object disposal in SharePoint 2010 PowerShell scripts

If you’ve done any type of SharePoint development, you’ll know about SPSite and SPWeb object disposal (see here if not). I’m not going to cover the subject again, except to say that you also need to build in disposal practices when using PowerShell scripts for SharePoint to avoid retaining the objects in memory, potentially causing performance issues on your servers.

PowerShell will automatically dispose of objects used in certain types of commands - e.g., those that appear on a single line or as part of a piped command, but you will need to manually dispose of objects for commands where you are instantiating a variable using Get-SPSite or Get-SPWeb. For example, PowerShell will automatically handle object disposal for the following command:

Get-SPWebApplication | Get-SPSite -limit all | ForEach-Object { write-host $_.Url  }

But, as the command below creates a variable called $web based on the SPWeb object, this will require disposal by specifying the $web.dispose() command after it has been used:

$web = Get-SPWeb http://portal
#PowerShell script goes here
#Now dispose of SPWeb object
$web.dispose()

Now, for all you IT Pro’s out there, this alone may scare you into never using PowerShell to manage SharePoint again (and I wouldn’t blame you). However, help is at hand with the Start-SPAssignment and Stop-SPAssignment cmdlets introduced in SharePoint 2010. To overcome the hassle of having to know when to dispose of an object and when not to, all you need to do is sandwich your script in between the following commands:

Start-SPAssignment –Global

#PowerShell script goes here

Stop-SPAssignment –Global

Any objects defined between the Start-SPAssignment –Global and Stop-SPAssignment –Global commands will be automatically disposed of by PowerShell as it will now know when the script has finished running. So, even if you are not sure whether objects should be disposed of or not, as long as you always top and tail your script with these cmdlets, you can’t go wrong.

20 comments:

  1. This is great. I am now using this all the time. Do you or anyone else know of any drawbacks?

    ReplyDelete
  2. Fantastic! Didn't know about this before.
    Thank you so much!

    ReplyDelete
  3. What if a script execution will abort before reaching the line "Stop-SPAssignment..."?
    Will the next full execution of the script dispose all remaining objects or do I need to execute that command separately after each earlier abortion?

    ReplyDelete
  4. Great article. happy to visit your blog. Thanks for sharing.

    2 and 3 bhk flats in nungambakkam

    ReplyDelete
  5. تعد خدمات الاول في المدينة المنورة من افضل الخدمات في مجال التنظيف ومكافحة الحشرات لانها تتميز بجودة المنظفات المستخدمة وامهر عماله تعمل على انهاء مهامها على اكمل وجه وبنظافه ترضى العميل بالاضافة الى خدمة مكافحة الحشرات ورش المبيدات المتميزة لدينا
    تخزين اثاث بالرياض
    شركة تنظيف شقق بالمدينة المنورة
    شركة تنظيف كنب بالمدينة المنورة
    افضل شركة تنظيف فلل بالمدينة المنورة

    شركة نقل اثاث بالمدينة المنورة
    شركة كشف تسربات المياه بالمدينة المنورة
    شركة مكافحة الحشرات بالمدينة المنورة
    افضل شركة تنظيف خزانات بالمدينة المنورة

    افضل شركة غسيل كنب بالرياض

    ReplyDelete

  6. Wonderful blog! I found it while searching on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Many thanks.
    tanki online 3 | 2048 online

    ReplyDelete
  7. لاشك ان شركه الحورس تعد افضل شركه خدمات منزليه التي منها (التنظيف/رش مبيدات/مكافحه حشرات/تسليك مجاري/كشف تسربات المياه/تنظيف خزانات..)وعديد من الخدمات التي تلزم البيت او الفله نحن بخدمتك عزيزي العميل.
    شركه نقل اثاث وعفش بالطائف
    شركه تنظيف بالطائف
    شركه مكافحة حشرات
    شركه كشف تسربات المياه بالطائف
    حيث شركتنا تتميز باداء الخدمه علي افضل وجهه حيث نعد شركه رش مبيدات بالطائف
    شركه تنظيف خزانات بالطائف

    ReplyDelete
  8. Where our company the best company Home Services, Saudi Arabia and this preference is not in a vacuum, where our company is working in this field for more than 40 years Venad best company cleaning in Khamis Mushayt and the best company pesticides sprayed in Khamis Mushayt, where we use the best materials that are used in the fight against insects and pesticides we import from the major powers but you do not have to contact us
    شركة رش مبيدات بخميس مشيط
    شركة تنظيف بخميس مشيط
    شركة تنظيف خزانات بخميس ميشط
    شركة كشف تسربات المياه بخميس مشيط
    شركة مكافحة حشرات بخميس مشيط
    شركة تنظيف منازل بخميس مشيط
    شركة نقل اثاث وعفش بخميس مشيط
    شركة تسليك مجارى بخميس مشيط
    شركة رش مبيدات بالطائف
    شركه تنظيف كنب بالرياض
    شركه تنظيف منازل بجده

    ReplyDelete


  9. شركة الكمال أفضل شركة تنظيف بحائل للتنظيف أهمية كبرى فى حياة الفرد وبالأخص المواطن السعودى مما
    يؤدى ذالك إلى تعرض المنزل بشكل كبير إلى الأتربة والأوساخ والبقع والدهون وأن نظافة المنزل تشعر الفرد بالراحة
    النفسية الكبيرة وتتكفل شركة الكمال بهذا العمل لأنها أفضل
    شركة تنظيف بحائل
    ولانها الشركة الرائدة
    والمشهود لها بالفضلى فى هذا المجال من النظافة لوجود المقومات التى تساعد على ذالك منها العمالة المدربة وذوى الخبرة
    والكفاءة مع وجود أحدث معدات التنظيف للفلل التى تساعد على إنهاء العمل بكفاءة ونهتم كثيرا بأراء عملائنا فى
    شركة تنظيف فلل بحائل
    ويقوم طاقم العمل بتنظيف الشقه بدون التسبب بأى إزعاج للعميل فلا تتباطؤ فى إختيار شركة الكمال لتنظيف منزلكم لأنها أفضل
    شركة تنظيف شقق بحائل
    ولأن تنظيف المجالس يحتاج إلى وقت وجهد كبير فشركة الكمال أفضل شركة تنظيف
    مجالس بحائل كفيلة بتنظيف مجلسك فى أسرع وقت وبدون جهد وبالتالى شركة الكمال هى الحل الأمثل فى فى مجال تنظيف المجالس
    بحائل ونحن بانتظاركم لتتصلوا على
    شركة تنظيف مجالس بحائل
    وأفضل مايميز شركة العربى أفضل شركة تنظيف منازل بحائل وضعها للخطط قبل البدء فى العمل وتقسيم طاقمها إلى
    مجموعات كل منها مختص بتنظيف جزء معين وتمر عملية التنظيف على عدة مراحل :-
    1- البدء بتنظيف الموكيت والكنب والمفروشات والسجاد بالأعتماد على أحدث المعدات الألكترونية التى تعمل بالبخار لكى
    تقضى على المشاكل التقليدية للتنظيف وهى بهتان اللون وبذالك قمنا بالأعتماد على البخار فى إزالة الأوساخ والبقع
    2- ثم بعد ذالك يأتى دور البلاط والأرضيات فيقوم العمال بجلى البلاط والأرضيات بأحدث ألالآت جلى البلاط والأرضيات
    شركة تنظيف واجهات بحائل
    شركة الكمال أفضل شركة تنظيف خزانات بحائل نظرا لارتفاع درجات الحرارة فى حائل وفى
    غيرها من باقى مدن
    المملكة ووجود مياه البحر المحلاة التى تحمل الكثير من الرمال والأتربة مما يؤدى
    ذالك إلى تكون الفطريات والجراثيم على
    جدران الخزان ويؤدى ذالك إلى تلوث المياه والتى بدورها تؤدى إلى تسمم الفرد إذا فما الحل ؟
    الحل تقدمه لكم شركة العربى وهى أفضل
    شركة الكمال أفضل (( شركة كشف تسربات المياه بحائل )) نسعى فى شركة الكمال بتقديم كافة خدمات كشف تسربات المياه ويتم كشف تسربات المياه بأحدث
    الأجهزة الألكترونية و طاقم عمل يتكون من فنيين وخبراء منهم فنيين أجانب ونسعى جاهدين لتقديم أفضل خدمة بأقل سعر وإرضاء العميل واسعارنا حصرية لا تقبل المنافسة لدينا فى
    شركة كشف تسربات المياه بحائل
    شركة الكمال أفضل (( شركة نقل عفش بحائل )) نقل العفش من الأمور الهامة جدا (( شركة نقل عفش بحائل )) التى يلزم فبها الدقة والخبرة للحد ولذالك خصصنا قسما فى شركتنا لمجال
    نقل العفش مع تجهيزه :-
    1- أسطول كبير من السياراة المجهزة والتى (( شركة نقل عفش بحائل )) أعدن خصيصا لنقل العفش
    2- طافم العمل المدرب على حمل وتنزيل العفش والأثاث
    3- فنيين متخصصين فى الفك والتركيب (( شركة نقل عفش بحائل ))
    ومايجعل نقل الاثاث من أشهر الخدمات التى يكثر عليها الطلب هوا أن معظم العملاء يقومون بتغيير عفشهم القديم أكثر من مرة فى العام ويرجع ذالك أيضا إلى أنا
    العملاء يقومون بتأجير الفلل والقصور والشقق وذالك لأنهم يحبون تغير الجو ولذالك يكون اعتما نا فى شركة العربى على أحسن تقنيات نقل الاثاث بداخل وخارج
    حائل ونقل الاثاث من الأعمال شديدة الكثافة لذا تحتاج إلى
    شركة نقل اثاث بحائل
    دقة عالية ومهارة فى فك العفش وحمله وإنزاله إلى السياراة وتغليفه لتقليل من شدة الصدمات وعدم
    تعرضه للكسر وللخدش أيضا ونستخدم فى شركة العربى أفضل وأحدث السيارات المجهزة خصيصا لنقل العفش

    ReplyDelete
  10. The blog or and best that is extremely useful to keep I can share the ideas of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.
    animal jam | five nights at freddy's | hotmail login

    ReplyDelete