<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3132357405579351461</atom:id><lastBuildDate>Mon, 13 Feb 2012 13:59:59 +0000</lastBuildDate><category>Lotus Notes to SharePoint migration</category><category>nintex workflows</category><category>powershell scripts</category><category>jquery</category><category>webpart</category><category>Resources</category><category>infopath forms</category><category>elements.xml</category><category>Errors</category><category>webpart maintance mode</category><category>code</category><category>Best Practices</category><category>page</category><category>nintex</category><category>Utilities</category><title>SharePoint Fix</title><description>My daily learnings on SharePoint, PowerShell, InfoPath, Nintex workflows, Lotus notes to SharePoint migration, minor bug fixes and major hotfixes</description><link>http://www.sharepointfix.com/</link><managingEditor>noreply@blogger.com (Mehuil K Bhuva)</managingEditor><generator>Blogger</generator><openSearch:totalResults>80</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MehulBhuva" /><feedburner:info uri="mehulbhuva" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:emailServiceId>MehulBhuva</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/MehulBhuva" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMehulBhuva" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:browserFriendly>Subscribe to my feeds to stay in touch</feedburner:browserFriendly><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-715597226836454247</guid><pubDate>Fri, 10 Feb 2012 07:54:00 +0000</pubDate><atom:updated>2012-02-12T03:30:29.940-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script to check whether SharePoint 2010 Feature is activated for a particular Sub-site</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bXHCWw8P6B3YZwVv-DnNTrcYY_M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bXHCWw8P6B3YZwVv-DnNTrcYY_M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bXHCWw8P6B3YZwVv-DnNTrcYY_M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bXHCWw8P6B3YZwVv-DnNTrcYY_M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;The Powershell script below checks whether any given feature, in this case its the&amp;nbsp;&lt;b&gt;PublishingWeb&lt;/b&gt; Feature is activated or not for a particular Sub-Site.&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;Here I have shown 2 approaches: 1st one checks the Feature Folder Name and 2nd approach checks the FeatureID activated for that particular Sub-site. Choose the way best suitable in your case.&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;## SharePoint DLL&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;$featureFolderName = "&lt;span style="background-color: yellow;"&gt;PublishingWeb&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;$subSiteURL = "&lt;span style="background-color: yellow;"&gt;http://sharepointfix/sites/home/USA&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;#Approach 1 -&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;Check using Feature Name&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;#&lt;/span&gt;&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;Get Feature ID based on the Feature Name and ensure whether its already activated or not at the current sub-site scope&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;$FeatureID = Get-SPFeature -Web $subSiteURL | Where {$_.DisplayName -eq $featureFolderName}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;if($FeatureID -ne $null)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; #Approach 2 - &amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;Check using Feature ID&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; #Check whether Feature to be activated is already activated for this sub-site&lt;/span&gt; &lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if (Get-SPFeature -Web &amp;nbsp;$subSiteURL | Where {$_.ID -eq $FeatureID.Id})&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write-Host $featureFolderName "is already activated at :" $subSiteURL&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Enable-SPFeature -Identity $featureFolderName -Confirm:$false -Url $subSiteURL&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write-Host $featureFolderName "has been activated at :" $subSiteURL&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;else&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;Enable-SPFeature -Identity $featureFolderName -Confirm:$false -Url $subSiteURL&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Write-Host $featureFolderName "has been activated at :" $subSiteURL&lt;/span&gt;&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;Remove-PsSnapin Microsoft.SharePoint.PowerShell&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Arial, sans-serif;"&gt;Echo Finish&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-715597226836454247?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=be62uFzBSEw:iZy3dhLTma8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=be62uFzBSEw:iZy3dhLTma8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=be62uFzBSEw:iZy3dhLTma8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=be62uFzBSEw:iZy3dhLTma8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=be62uFzBSEw:iZy3dhLTma8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=be62uFzBSEw:iZy3dhLTma8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=be62uFzBSEw:iZy3dhLTma8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=be62uFzBSEw:iZy3dhLTma8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/be62uFzBSEw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/be62uFzBSEw/powershell-script-to-check-whether.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2012/02/powershell-script-to-check-whether.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-2942078283493051655</guid><pubDate>Thu, 09 Feb 2012 14:51:00 +0000</pubDate><atom:updated>2012-02-10T01:24:26.562-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>PowerShell script to Enumerate Sites, Sub-sites and print them in a .csv file</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0CFDTh8A2wrNtMFQBACTy3ChAm4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0CFDTh8A2wrNtMFQBACTy3ChAm4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0CFDTh8A2wrNtMFQBACTy3ChAm4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0CFDTh8A2wrNtMFQBACTy3ChAm4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The Powershell script below enumerates/iterates through all Site Collections and&amp;nbsp;Sub-sites&amp;nbsp;for a Web Application and prints the output in a .csv file.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;1. Copy the code below and modify the variables highlighted in yellow below, save the following as&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: yellow; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;IterateAllSitesSubsites.ps1&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&amp;nbsp;file:&lt;/span&gt; &lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
## SharePoint DLL&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
&lt;br /&gt;
$webApplicationURL = "&lt;span style="background-color: yellow;"&gt;http://dev-sp-2010:1000&lt;/span&gt;"&lt;br /&gt;
set-variable -option constant -name out -value "&lt;span style="background-color: yellow;"&gt;C:\PrintAllSitesSubsites.csv&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
$webApp = Get-SPWebApplication $webApplicationURL&lt;br /&gt;
&lt;br /&gt;
if($webApp -ne $null)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;"Web Application : " + $webApp.Name | Out-File $out -Append&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;foreach($siteColl in $webApp.Sites)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;if($siteColl -ne $null)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;"Site Collection : " + $siteColl.Url | Out-File $out -Append&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;foreach($subWeb in $siteColl.AllWebs)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if($subWeb -ne $null)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;#Print each Subsite&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;#Write-Host $subWeb.Url&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"Subsite : " + $subWeb.Name + " - " + $subWeb.Url | Out-File $out -append&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;$subWeb.Dispose()&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;else&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;Echo $subWeb "does not exist"&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;$siteColl.Dispose()&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;else&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;Echo $siteColl "does not exist"&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
Echo $webApplicationURL "does not exist, check the WebApplication name"&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
Echo Finish&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;2. To automatically run the above .ps1 script as a batch utility, Copy and paste the code below and save it with a .bat file extension&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;cd /d %~dp0&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;powershell -noexit -file ".\&lt;/span&gt;&lt;span style="background-color: yellow; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;IterateAllSitesSubsites.ps1&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;" &lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;"%CD%"&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;pause&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white;"&gt;&lt;span style="color: #333333; font-family: Arial, sans-serif; font-size: x-small;"&gt;&lt;span style="line-height: 16px;"&gt;Run the above .bat file, on the receipt of success message, traverse to the configured path and find the .csv file with all the sites/sub-sites&amp;nbsp;printed.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-2942078283493051655?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=eA8cSgIpnBo:Wn3Sh7xwJho:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=eA8cSgIpnBo:Wn3Sh7xwJho:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=eA8cSgIpnBo:Wn3Sh7xwJho:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=eA8cSgIpnBo:Wn3Sh7xwJho:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=eA8cSgIpnBo:Wn3Sh7xwJho:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=eA8cSgIpnBo:Wn3Sh7xwJho:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=eA8cSgIpnBo:Wn3Sh7xwJho:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=eA8cSgIpnBo:Wn3Sh7xwJho:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/eA8cSgIpnBo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/eA8cSgIpnBo/powershell-script-to-enumerate-sites.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2012/02/powershell-script-to-enumerate-sites.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-464674154508518950</guid><pubDate>Tue, 17 Jan 2012 07:50:00 +0000</pubDate><atom:updated>2012-01-19T08:22:17.552-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script to modify List Item Create/Edit Permissions</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mjqm2Y4plyjzyBhEsLej4q5fo3E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mjqm2Y4plyjzyBhEsLej4q5fo3E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mjqm2Y4plyjzyBhEsLej4q5fo3E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mjqm2Y4plyjzyBhEsLej4q5fo3E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Recently I came across a very interesting requirement in one of our SharePoint 2010 projects.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirement: &lt;/b&gt;Customer wanted to lock down/prevent Site wide Members/Contributors from creating, modifying/editing and deleting List Items for the first 10 days of every month.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution: &lt;/b&gt;Here are the options to meet the above requirements:&lt;br /&gt;
&lt;br /&gt;
1. Write a C#.NET utility (&lt;b&gt;.exe&lt;/b&gt;) using SP 2010 object model to Revoke and Grant List Item Permissions and schedule it using the Task Scheduler on your SharePoint farm.&lt;br /&gt;
&lt;br /&gt;
2. Program against the SharePoint web service to create a utility (&lt;b&gt;.exe)&lt;/b&gt; that Revokes/Grants List item permissions and schedule it using the Task Scheduler in your remote system.&lt;br /&gt;
&lt;br /&gt;
3. Write 2 Powershell scripts to Revoke and Grant List Item Permissions and create batch file to call the .ps1, then schedule it using the Task Scheduler on your SharePoint farm.&lt;br /&gt;
&lt;br /&gt;
We went for option 3, i.e. Creation of Powershell scripts, as this is one of the most preferred and easiest of all the above mentioned solutions. Also we were allowed to copy/paste scripts to our SharePoint 2010 Server Farm, so that helped additionally and we were able to meet the customers requirements without any code/utility deployments in our SharePpint farm.&lt;br /&gt;
&lt;br /&gt;
We will first write the script for Revoking List Item Permissions as it needs to be scheduled on 1st of every month:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;1. Copy the powershell script below and&amp;nbsp;modify the variables highlighted in&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: yellow; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;yellow&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&amp;nbsp;below, save the following as RevokeListIitemEditPermissions.ps1 file:&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin "Microsoft.SharePoint.PowerShell"&lt;br /&gt;
&lt;br /&gt;
## SharePoint DLL Reference&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration")&lt;br /&gt;
&lt;br /&gt;
#Change the Web URL to point to the site/subsite where your List exists and the list name&lt;br /&gt;
$web = Get-SPWeb "&lt;span style="background-color: yellow;"&gt;http://dev-sp-2010:1000/sites/SPFix/&lt;/span&gt;"&lt;br /&gt;
$listName = "&lt;span style="background-color: yellow;"&gt;List Security&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
#Check If the Web is null&lt;br /&gt;
if ($web -ne $null)&lt;br /&gt;
{&lt;br /&gt;
#Get the list in this site&lt;br /&gt;
$list = $web.Lists[$listName]&lt;br /&gt;
&lt;br /&gt;
if($list -ne $null)&lt;br /&gt;
{&lt;br /&gt;
#Revoke Create and Edit permissions for the Current List&lt;br /&gt;
#4 — Users cannot modify any list item.&lt;br /&gt;
$list.WriteSecurity = 4&lt;br /&gt;
&lt;br /&gt;
#Update the list&lt;br /&gt;
$list.Update()&lt;br /&gt;
&lt;br /&gt;
#Update the web&lt;br /&gt;
$web.Update()&lt;br /&gt;
&lt;br /&gt;
echo "Revoked Edit Items Permissions on the list"&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
echo "List is null. Check the List Name."&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Dispose of the site object&lt;br /&gt;
$web.Dispose()&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
echo "Web is null. Check the Web URL."&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin "Microsoft.SharePoint.PowerShell"&lt;br /&gt;
&lt;br /&gt;
2. To automatically run the above .ps1 script as a batch utility, Copy and paste code below and save it with a .bat file extension&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".\RevokeListIitemEditPermissions.ps1" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
We will now write the Grant List Item Edit Permissions to grant back the List Item Create, Edit and Delete privileges for all Contributors/Members for the List. This needs to be scheduled on 10th of every month.&lt;br /&gt;
&lt;br /&gt;
3. Copy the powershell script below and modify the variables highlighted in &lt;span style="background-color: yellow;"&gt;yellow&lt;/span&gt; below, save the following as GrantListIitemEditPermissions.ps1 file:&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin "Microsoft.SharePoint.PowerShell"&lt;br /&gt;
&lt;br /&gt;
## SharePoint DLL Reference &lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration")&lt;br /&gt;
&lt;br /&gt;
#Change the Web URL to point to the site/subsite where your List exists and the list name&lt;br /&gt;
$web = Get-SPWeb "&lt;span style="background-color: yellow;"&gt;http://dev-sp-2010:1000/sites/SPFix/&lt;/span&gt;"&lt;br /&gt;
$listName = "&lt;span style="background-color: yellow;"&gt;List Security&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
#Check If the Web is null&lt;br /&gt;
if ($web -ne $null)&lt;br /&gt;
{&lt;br /&gt;
#Get the list in this site&lt;br /&gt;
$list = $web.Lists[$listName]&lt;br /&gt;
&lt;br /&gt;
if($list -ne $null)&lt;br /&gt;
{&lt;br /&gt;
#Grant Create and Edit permissions for the Current List&lt;br /&gt;
#2 — Users can modify only items that they create.&lt;br /&gt;
$list.WriteSecurity = 2&lt;br /&gt;
&lt;br /&gt;
#Update the list&lt;br /&gt;
$list.Update()&lt;br /&gt;
&lt;br /&gt;
#Update the web&lt;br /&gt;
$web.Update()&lt;br /&gt;
&lt;br /&gt;
echo "Granted Edit Items Permissions on the list"&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
echo "List is null. Check the List Name."&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Dispose of the site object&lt;br /&gt;
$web.Dispose()&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
echo "Web is null. Check the Web URL."&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin "Microsoft.SharePoint.PowerShell"&lt;br /&gt;
&lt;br /&gt;
4. To automatically run the above .ps1 script as a batch utility, Copy and paste code below and save it with a .bat file extension&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".\GrantListIitemEditPermissions.ps1" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
Last but not the least schedule the 2 batch files by going to the Windows Task Scheduler and Create a Task.&lt;br /&gt;
&lt;br /&gt;
You need to create 2 tasks, first one for Revoking the List Item Edit permissions that Triggers on 1st of every month and 2nd one to Grant List Item Edit Permissions that Triggers on 10th of every month. In the Actions section of the Task scheduler, give reference to the batch files created above one by one. The batch files in-turn calls the .ps1 according to the jobs scheduled every month.&lt;br /&gt;
&lt;br /&gt;
Happy Programming :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-464674154508518950?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=NyEtQWiHjf4:AiaXoUa8cPw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=NyEtQWiHjf4:AiaXoUa8cPw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=NyEtQWiHjf4:AiaXoUa8cPw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=NyEtQWiHjf4:AiaXoUa8cPw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=NyEtQWiHjf4:AiaXoUa8cPw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=NyEtQWiHjf4:AiaXoUa8cPw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=NyEtQWiHjf4:AiaXoUa8cPw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=NyEtQWiHjf4:AiaXoUa8cPw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/NyEtQWiHjf4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/NyEtQWiHjf4/powershell-script-to-modify-list-item.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>1</thr:total><feedburner:origLink>http://www.sharepointfix.com/2012/01/powershell-script-to-modify-list-item.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-2385922959883462800</guid><pubDate>Sat, 14 Jan 2012 08:18:00 +0000</pubDate><atom:updated>2012-01-14T04:02:57.864-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script to print User Profile properties in a .csv file</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qNYJJ5wufcOlK9xUL81jrDbWM6M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qNYJJ5wufcOlK9xUL81jrDbWM6M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qNYJJ5wufcOlK9xUL81jrDbWM6M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qNYJJ5wufcOlK9xUL81jrDbWM6M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;Here is the powershell script to print all User Profile properties for a SharePoint farm and print them into a .csv file&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
1. Copy the code below and modify the variables highlighted in yellow below, save the following as &lt;span style="background-color: yellow;"&gt;PrintAllUserProfileProperties.ps1&lt;/span&gt; file:&lt;br /&gt;
&lt;br /&gt;
param&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $siteAddress&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin "Microsoft.SharePoint.PowerShell"&lt;br /&gt;
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles")&lt;br /&gt;
&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $site = New-Object Microsoft.SharePoint.SPSite $siteAddress&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $context = [Microsoft.SharePoint.SPServiceContext]::GetContext($site)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $configManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager $context&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $propertyManager = $configManager.ProfilePropertyManager&lt;br /&gt;
&amp;nbsp; &amp;nbsp; set-variable -option constant -name out -value "&lt;span style="background-color: yellow;"&gt;C:\PrintAllUserProfileProperties.csv&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; foreach ($codeProperty in $propertyManager.GetCoreProperties())&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!$codeProperty.IsSection)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $codeProperty.DisplayName + " - " + $codeProperty.Name | Out-File $out -append&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
finally&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if ($site -ne $null)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $site.Dispose()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Echo "Finished!"&lt;br /&gt;
Echo "User Profile properties printed at:" $out&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin "Microsoft.SharePoint.Powershell"&lt;br /&gt;
&lt;br /&gt;
2. To automatically run the above .ps1 script as a batch utility, Copy and paste the code below and save it with a .bat file extension, kindly make sure you update the siteAddress switch with the relevant farm URL&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".\&lt;span style="background-color: yellow;"&gt;PrintAllUserProfileProperties.ps1&lt;/span&gt;" -siteAddress "&lt;span style="background-color: yellow;"&gt;http://dev-sp-2010:1000/sites/SPFix&lt;/span&gt;" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
Run the above .bat file, on the receipt of success message, traverse to the configured path and find the .csv file with all the user profile properties printed.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-2385922959883462800?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uXSlMHRcNv4:eYc1hJdiHPA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uXSlMHRcNv4:eYc1hJdiHPA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uXSlMHRcNv4:eYc1hJdiHPA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=uXSlMHRcNv4:eYc1hJdiHPA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uXSlMHRcNv4:eYc1hJdiHPA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=uXSlMHRcNv4:eYc1hJdiHPA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=uXSlMHRcNv4:eYc1hJdiHPA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=uXSlMHRcNv4:eYc1hJdiHPA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/uXSlMHRcNv4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/uXSlMHRcNv4/powershell-script-to-print-user-profile.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2012/01/powershell-script-to-print-user-profile.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-3186972482852731421</guid><pubDate>Thu, 01 Dec 2011 18:09:00 +0000</pubDate><atom:updated>2011-12-01T13:28:18.280-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>PowerShell script for creation of Custom Event Source and Event Log</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/676d4mvQWmJdJ9_Sw-ZuYTNO154/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/676d4mvQWmJdJ9_Sw-ZuYTNO154/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/676d4mvQWmJdJ9_Sw-ZuYTNO154/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/676d4mvQWmJdJ9_Sw-ZuYTNO154/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Copy the PowerShell script below and save it as &lt;b&gt;EventSourceCreation.ps1&lt;/b&gt; for creation of Event Source and Event Log:&lt;br /&gt;
&lt;br /&gt;
#Write-Host "Remove event source SharePointEventSource"&lt;br /&gt;
Remove-EventLog -Source SharePointEventSource&lt;br /&gt;
#Write-Host "SharePointEventSource removed"&lt;br /&gt;
&lt;br /&gt;
#Write-Host "Create event source&amp;nbsp;SharePointEventSource"&lt;br /&gt;
New-EventLog -LogName "SharePoint Event Source" -Source&amp;nbsp;SharePointEventSource&lt;br /&gt;
#Write-Host "Event source&amp;nbsp;SharePointEventSource&amp;nbsp;created"&lt;br /&gt;
&lt;br /&gt;
Once event source has been created, go to &lt;b&gt;Run =&amp;gt; eventvwr &lt;/b&gt;and you will see that the new&lt;br /&gt;
&lt;b&gt;"SharePoint Event Source"&lt;/b&gt;&amp;nbsp;has be created under the &lt;b&gt;Application and Services Logs&lt;/b&gt;, see snapshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-ad2N9BRNSrw/Tte_Qg0xFaI/AAAAAAAABF8/Sp2BCm6DpvQ/s1600/EventSource+creation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-ad2N9BRNSrw/Tte_Qg0xFaI/AAAAAAAABF8/Sp2BCm6DpvQ/s400/EventSource+creation.jpg" width="227" /&gt;&lt;/a&gt;&lt;/div&gt;To automatically run the above script as a batch utility, copy and paste the code below and save it as a &lt;b&gt;.bat&lt;/b&gt; file extension:&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".EventSourceCreation.ps1" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
Can write custom logging in SharePoint using the&amp;nbsp;&lt;b&gt;SPDiagnosticsService&lt;/b&gt; class to log messages and exceptions against the above custom source created namely:&amp;nbsp;&lt;b&gt;SharePointEventSource&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Run the script and enjoy :)&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-3186972482852731421?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Y3pubassTn8:VubzeCyGTKc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Y3pubassTn8:VubzeCyGTKc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Y3pubassTn8:VubzeCyGTKc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Y3pubassTn8:VubzeCyGTKc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Y3pubassTn8:VubzeCyGTKc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Y3pubassTn8:VubzeCyGTKc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=Y3pubassTn8:VubzeCyGTKc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=Y3pubassTn8:VubzeCyGTKc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/Y3pubassTn8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/Y3pubassTn8/powershell-script-creation-of-event.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-ad2N9BRNSrw/Tte_Qg0xFaI/AAAAAAAABF8/Sp2BCm6DpvQ/s72-c/EventSource+creation.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/12/powershell-script-creation-of-event.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-2386073092941033120</guid><pubDate>Thu, 10 Nov 2011 08:24:00 +0000</pubDate><atom:updated>2011-11-11T01:08:17.339-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">code</category><title>Programmatically find SharePoint 2010 Web Control references in your code-behind files</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S7JeDwPOuzfdsVc56nIQIFhv55s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S7JeDwPOuzfdsVc56nIQIFhv55s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/S7JeDwPOuzfdsVc56nIQIFhv55s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S7JeDwPOuzfdsVc56nIQIFhv55s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
Programmatically find SharePoint 2010 Web control references in the code-behind files like .aspx.cs for Page Layouts or Custom Application Pages and .ascx.cs for User Controls and Visual Webparts.&lt;br /&gt;
&lt;br /&gt;
I tried to get a handle to the RichHtmlField control in SharePoint using the standard .NET way like this:&lt;br /&gt;
Control ctrl = this.FindControl("controlID") as Control;&lt;br /&gt;
&lt;br /&gt;
Sadly it did not work.&lt;br /&gt;
&lt;br /&gt;
So had to write a generic FindControlRecursive methods to get a reference to any SharePoint Web Control used in Page Layouts, Application Pages, Visual WebParts, User Controls etc. See the function call and the generic functions. Copy the code and use it to your advantage.&lt;br /&gt;
&lt;br /&gt;
Function call:&lt;br /&gt;
&lt;br /&gt;
RichHtmlField pageContent = FindControlRecursive(this.Page, "pageContent") as RichHtmlField;&lt;br /&gt;
&lt;br /&gt;
Generic Methods:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static Control FindControlRecursive(Page page, string controlID)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (Control controlToSearch in page.Controls)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Control controlToReturn = FindControlRecursive(controlToSearch, controlID);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (controlToReturn != null)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return controlToReturn;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return null;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static Control FindControlRecursive(Control rootControl, string controlID)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (String.Equals(rootControl.ID, controlID))&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return rootControl;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (Control controlToSearch in rootControl.Controls)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Control controlToReturn = FindControlRecursive(controlToSearch, controlID);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (controlToReturn != null)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return controlToReturn;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return null;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
Hope it helps. Happy Programming.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-2386073092941033120?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=YowsdPqJP0A:pgHHW9oti3M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=YowsdPqJP0A:pgHHW9oti3M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=YowsdPqJP0A:pgHHW9oti3M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=YowsdPqJP0A:pgHHW9oti3M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=YowsdPqJP0A:pgHHW9oti3M:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=YowsdPqJP0A:pgHHW9oti3M:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=YowsdPqJP0A:pgHHW9oti3M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=YowsdPqJP0A:pgHHW9oti3M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/YowsdPqJP0A" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/YowsdPqJP0A/programmatically-find-sharepoint-2010.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/11/programmatically-find-sharepoint-2010.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-6915016142681034528</guid><pubDate>Wed, 21 Sep 2011 17:17:00 +0000</pubDate><atom:updated>2011-09-21T13:25:54.185-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script to print Managed Metadata termsets in a .csv file</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dFzsZi3VbhvSZbuJvwkcm5Kq26E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dFzsZi3VbhvSZbuJvwkcm5Kq26E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dFzsZi3VbhvSZbuJvwkcm5Kq26E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dFzsZi3VbhvSZbuJvwkcm5Kq26E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Here is the powershell script to retrieve all Managed metadata&amp;nbsp;term sets&amp;nbsp;for a SharePoint 2010 site collection and print them into a .csv file&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333;"&gt;1. Copy the&amp;nbsp;code below and&amp;nbsp;modify the variables highlighted in&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: yellow;"&gt; yellow&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333;"&gt; below, save the following as PrintManagedMetadataTerms.ps1 file:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin "Microsoft.SharePoint.PowerShell"&lt;br /&gt;
&lt;br /&gt;
$site = Get-SPSite "&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;http://dev-sp-2010:1000/sites/sharepointfix/&lt;/span&gt;"&lt;br /&gt;
$termStoreName = "&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;Managed Metadata Service&lt;/span&gt;"&lt;br /&gt;
$termStoreGroupName = "&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;SharePointFixPortal&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
set-variable -option constant -name out -value "&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;C:\PrintAllManagedMetaDataTermSets.csv&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
$session = new-object Microsoft.SharePoint.Taxonomy.TaxonomySession($site)&lt;br /&gt;
$termStore = $session.TermStores[$termStoreName]&lt;br /&gt;
$termStoreGroup = $termStore.Groups[$termStoreGroupName]&lt;br /&gt;
&lt;br /&gt;
# Prints all Managed Metadata Termsets in the .csv file at the configured location&lt;br /&gt;
foreach($termsets in $termStoreGroup.TermSets)&lt;br /&gt;
{&lt;br /&gt;
"Termset Name: " + $termsets.Name + ", Description: " + $termsets.Description + ", Group: " + $termsets.Group + ", ID: " +$termsets.Id + ", Available for Tagging: " + $termsets.IsAvailableForTagging + ", Is Open for Term Creation : " + $termsets.IsOpenForTermCreation | Out-File $out -append;&lt;br /&gt;
&lt;br /&gt;
foreach($terms in $termsets.GetAllTerms())&lt;br /&gt;
{&lt;br /&gt;
"Term Name:" + $terms.Name | Out-File $out -append&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$site.Dispose()&lt;br /&gt;
&lt;br /&gt;
Echo "Finished!"&lt;br /&gt;
Echo "Managed metadata termsets printed at:" $out&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin "Microsoft.SharePoint.Powershell"&lt;br /&gt;
&lt;br /&gt;
2. To automatically run the above .ps1 script as a batch utility, Copy and paste code below and save it with a &lt;b&gt;.bat&lt;/b&gt; file extension&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".\PrintManagedMetadataTerms.ps1" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
Run the above &lt;b&gt;.bat&lt;/b&gt; file, on the receipt of success message, traverse to the configured path to find the &lt;b&gt;.csv&lt;/b&gt; file with all the managed metadata printed values.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-6915016142681034528?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LUALJxUWPfI:wyd37uy7hR4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LUALJxUWPfI:wyd37uy7hR4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LUALJxUWPfI:wyd37uy7hR4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LUALJxUWPfI:wyd37uy7hR4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LUALJxUWPfI:wyd37uy7hR4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LUALJxUWPfI:wyd37uy7hR4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LUALJxUWPfI:wyd37uy7hR4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LUALJxUWPfI:wyd37uy7hR4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/LUALJxUWPfI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/LUALJxUWPfI/powershell-script-to-print-managed.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>2</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/09/powershell-script-to-print-managed.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-6532022857574433760</guid><pubDate>Sun, 31 Jul 2011 08:04:00 +0000</pubDate><atom:updated>2011-07-31T04:07:55.980-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">code</category><title>SharePoint 2010 List Item Event Receiver - Native Stack Error 0x81020089</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n9_lGu2Eh53dOwZsALZHSOvLBIs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n9_lGu2Eh53dOwZsALZHSOvLBIs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n9_lGu2Eh53dOwZsALZHSOvLBIs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n9_lGu2Eh53dOwZsALZHSOvLBIs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;When creating List Item Event Receivers, we added the ItemDeleting event to prevent List Items from being deleted:&lt;br /&gt;
&lt;br /&gt;
public override void ItemDeleting(SPItemEventProperties properties)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; properties.Cancel = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; properties.ErrorMessage = "Bugs can only be resolved not deleted!";&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //You may also redirect to a custom error URL page:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //SPUtility.Redirect(web.Url + Constants.ERROR_PAGE_URL + errorMessage, SPRedirectFlags.DoNotEndResponse, HttpContext.Current);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
You would think that the above piece of code will show an appropriate validation message while deleting a list item, but instead it throws a native call stack error.&lt;br /&gt;
&lt;br /&gt;
We identified that these code lines&amp;nbsp;do not work very well with List Item event receivers:&lt;br /&gt;
&lt;br /&gt;
properties.Cancel = true; &amp;nbsp;and&lt;br /&gt;
properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;&lt;br /&gt;
&lt;br /&gt;
As a result we see a Native Stack Error Message:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-ZM6Tgy0-LEc/TjUIh0XDX6I/AAAAAAAABFM/wKuiD-9zu3M/s1600/CustomListError.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="235" src="http://2.bp.blogspot.com/-ZM6Tgy0-LEc/TjUIh0XDX6I/AAAAAAAABFM/wKuiD-9zu3M/s640/CustomListError.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;We modified the ItemDeleting Event receiver code and it started working fine:&lt;br /&gt;
&lt;br /&gt;
public override void ItemDeleting(SPItemEventProperties properties)&lt;br /&gt;
{&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;properties.Status = SPEventReceiverStatus.CancelNoError;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;nbsp; properties.ErrorMessage = "Bugs can only be resolved not deleted!";&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;//You may also redirect to a custom error URL page:&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;nbsp; //SPUtility.Redirect(web.Url + Constants.ERROR_PAGE_URL + errorMessage, SPRedirectFlags.DoNotEndResponse, HttpContext.Current);&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;}&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-s1PPvL5_DyE/TjUJ_RDtySI/AAAAAAAABFQ/a9_kPNSSKb0/s1600/IC412472.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="151" src="http://1.bp.blogspot.com/-s1PPvL5_DyE/TjUJ_RDtySI/AAAAAAAABFQ/a9_kPNSSKb0/s400/IC412472.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
Elements.xml file for the List Item Event Receiver is as follows:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- &amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- &amp;lt;Receivers ListTemplateId="100"&amp;gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- &amp;lt;Receiver&amp;gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;lt;Name&amp;gt;CustomItemDeleting&amp;lt;/Name&amp;gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;lt;Type&amp;gt;ItemDeleting&amp;lt;/Type&amp;gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;lt;Assembly&amp;gt;$SharePoint.Project.AssemblyFullName$&amp;lt;/Assembly&amp;gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;lt;Class&amp;gt;SharePointFix.Project.ItemDeletingEvent&amp;lt;/Class&amp;gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;lt;SequenceNumber&amp;gt;10001&amp;lt;/SequenceNumber&amp;gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;lt;/Receiver&amp;gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;lt;/Receivers&amp;gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp; &amp;lt;/Elements&amp;gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Receiver ListTemplateId = 100, ensures that the validation works for both Pages library and Custom SharePoint Lists.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-6532022857574433760?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=DPRvAKPzO-w:rWH89gJpbl8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=DPRvAKPzO-w:rWH89gJpbl8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=DPRvAKPzO-w:rWH89gJpbl8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=DPRvAKPzO-w:rWH89gJpbl8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=DPRvAKPzO-w:rWH89gJpbl8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=DPRvAKPzO-w:rWH89gJpbl8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=DPRvAKPzO-w:rWH89gJpbl8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=DPRvAKPzO-w:rWH89gJpbl8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/DPRvAKPzO-w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/DPRvAKPzO-w/sharepoint-2010-list-item-event.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-ZM6Tgy0-LEc/TjUIh0XDX6I/AAAAAAAABFM/wKuiD-9zu3M/s72-c/CustomListError.png" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/07/sharepoint-2010-list-item-event.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-5927611770388267609</guid><pubDate>Fri, 22 Jul 2011 15:27:00 +0000</pubDate><atom:updated>2011-07-22T14:05:21.077-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script to deploy multiple solutions (.wsp) to your SharePoint 2010 web application</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rYtqJgyLEopUibj7Om4mTTHZTwk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rYtqJgyLEopUibj7Om4mTTHZTwk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rYtqJgyLEopUibj7Om4mTTHZTwk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rYtqJgyLEopUibj7Om4mTTHZTwk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The Powershell script below iterates through each .wsp files in your physical folder, installs and deploys them globally into all web-applications thus automating the solution deployment process.&lt;br /&gt;
&lt;br /&gt;
Copy the PowerShell scriptlet below and paste it in a notepad and save it with a&amp;nbsp;&lt;b style="color: red;"&gt;.ps1&lt;/b&gt;&amp;nbsp;extension in any of the directories in your hard disk.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;NOTE:&lt;/b&gt; Do not forget to place all your solution files i.e.&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;.wsp&lt;/span&gt;&lt;/b&gt; files in the same directory as your &lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;.ps1&lt;/span&gt;&lt;/b&gt; directory.&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
#Do not modify anything in the script from here onwards&lt;br /&gt;
function Get-ScriptDirectory&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;$Invocation = (Get-Variable MyInvocation -Scope 1).Value&lt;br /&gt;
&amp;nbsp;Split-Path $Invocation.MyCommand.Path&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function Deploy-Solution{&lt;br /&gt;
param(&lt;br /&gt;
[string]$physicalPath,&lt;br /&gt;
[string]$name)&lt;br /&gt;
&lt;br /&gt;
$SolutionName = $name&lt;br /&gt;
$SolutionPath = Join-Path ($physicalPath) $SolutionName&lt;br /&gt;
echo "Extracting information from $physicalPath"&lt;br /&gt;
&lt;br /&gt;
#Admin service&lt;br /&gt;
$AdminServiceName = "SPAdminV4"&lt;br /&gt;
$IsAdminServiceWasRunning = $true;&lt;br /&gt;
&lt;br /&gt;
if ($(Get-Service $AdminServiceName).Status -eq "Stopped")&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $IsAdminServiceWasRunning = $false;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Start-Service $AdminServiceName&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Write-Host 'SERVICE WAS STOPPED, SO IT IS NOW STARTED'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Uninstall&lt;br /&gt;
Write-Host 'UNINSTALLING SOLUTION ...'&lt;br /&gt;
&lt;br /&gt;
$Solution = Get-SPSolution | ? {($_.Name -eq $SolutionName) -and ($_.Deployed -eq $true)}&lt;br /&gt;
&lt;br /&gt;
if ($Solution -ne $null)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if($Solution.ContainsWebApplicationResource)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Uninstall-SPSolution $SolutionName -AllWebApplications -Confirm:$false&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; else&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Uninstall-SPSolution $SolutionName -Confirm:$false&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
while ($Solution.JobExists)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Start-Sleep 2&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Write-Host 'SOLUTION HAS BEEN UNINSTALLED SUCCESSFULLY.'&lt;br /&gt;
&lt;br /&gt;
Write-Host 'REMOVING SOLUTION ...'&lt;br /&gt;
&lt;br /&gt;
if ($(Get-SPSolution | ? {$_.Name -eq $SolutionName}).Deployed -eq $false)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Remove-SPSolution $SolutionName -Confirm:$false&lt;br /&gt;
&lt;br /&gt;
Write-Host 'SOLUTION HAS BEEN REMOVED SUCCESSFULLY.'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Write-Host 'ADDING SOLUTION ...'&lt;br /&gt;
&lt;br /&gt;
Add-SPSolution $SolutionPath &amp;nbsp;| Out-Null&lt;br /&gt;
&lt;br /&gt;
Write-Host 'SOLUTION HAS BEEN ADDED SUCCESSFULLY.'&lt;br /&gt;
&lt;br /&gt;
Write-Host 'DEPLOYING SOLUTION ...'&lt;br /&gt;
&lt;br /&gt;
$Solution = Get-SPSolution | ? {($_.Name -eq $SolutionName) -and ($_.Deployed -eq $false)}&lt;br /&gt;
&lt;br /&gt;
#use '-force' paramater to install all commands in this if statement&lt;br /&gt;
&lt;br /&gt;
if(($Solution -ne $null) -and ($Solution.ContainsWebApplicationResource))&lt;br /&gt;
{&lt;br /&gt;
Install-SPSolution $SolutionName –AllwebApplications -GACDeployment -Force -Confirm:$false&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
Install-SPSolution $SolutionName -GACDeployment -Force -Confirm:$false&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
while ($Solution.Deployed -eq $false)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Start-Sleep 2&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Write-Host 'SOLUTION HAS BEEN DEPLOYED SUCCESSFULLY.'&lt;br /&gt;
&lt;br /&gt;
if (-not $IsAdminServiceWasRunning)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Stop-Service $AdminServiceName&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Get Current Physical Path&lt;br /&gt;
$currentPhysicalPath = Get-ScriptDirectory&lt;br /&gt;
&lt;br /&gt;
#Iterate through all .wsp files in the current Physical Path to deploy solution&lt;br /&gt;
get-childitem $currentPhysicalPath -include *.wsp -recurse | foreach ($_) {Deploy-Solution $currentPhysicalPath $_.name}&lt;br /&gt;
&lt;br /&gt;
#Remove SharePoint Snapin&lt;br /&gt;
Remove-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
Echo Finish&lt;br /&gt;
&lt;br /&gt;
====================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Automate the above .ps1 script as a batch utility, Copy and paste code below and save it with a .bat file extension, change the script file name in the highlighted yellow section below to your .ps1 name.&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;AutomateDeploymentScript.ps1&lt;/span&gt;" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
Run the batch file and enjoy the automated deployment process:)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-5927611770388267609?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=AsgYPYD4fuY:wNObr33cFjg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=AsgYPYD4fuY:wNObr33cFjg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=AsgYPYD4fuY:wNObr33cFjg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=AsgYPYD4fuY:wNObr33cFjg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=AsgYPYD4fuY:wNObr33cFjg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=AsgYPYD4fuY:wNObr33cFjg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=AsgYPYD4fuY:wNObr33cFjg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=AsgYPYD4fuY:wNObr33cFjg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/AsgYPYD4fuY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/AsgYPYD4fuY/powershell-script-to-deploy-multiple.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>4</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/07/powershell-script-to-deploy-multiple.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-5052495302807669184</guid><pubDate>Wed, 18 May 2011 02:23:00 +0000</pubDate><atom:updated>2011-05-18T11:54:17.734-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Errors</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>SharePoint Central Administration Content Database in Suspect Mode</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yuM_q6RGNxJg2CUZYE83wIq8yAk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yuM_q6RGNxJg2CUZYE83wIq8yAk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yuM_q6RGNxJg2CUZYE83wIq8yAk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yuM_q6RGNxJg2CUZYE83wIq8yAk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;What will be your first reaction when your Central Administration in SharePoint 2010 stops abruptly and its Content/Config database switches itself automatically to &lt;b&gt;Suspect&lt;/b&gt; mode for no apparent reason, that too after a very stressful and super-hard working day.&lt;br /&gt;
&lt;br /&gt;
Common human reaction is to get scarred, pissed-off, drop the F-bombs on SharePoint 2010, drink lots of coffee, get irritated and shout on friends and family... :)&lt;br /&gt;
&lt;br /&gt;
I checked the ULS logs, Event Viewer logs, tried Application Pool recycles, Website Start/Stops, IIS Resets, even re-booted the server, even ran the SP 2010 Config Wizard. Sadly, none of them worked.&amp;nbsp;By now I started thinking that my SP 2010 farm is corrupt and needs to be re-configured/re-installed from scratch. A very painful thought in itself.&lt;br /&gt;
&lt;br /&gt;
But as I further researched on this weird content database suspect issue, found this post on the forum which got me started:&amp;nbsp;&lt;a href="http://social.msdn.microsoft.com/forums/en-US/sqldisasterrecovery/thread/48cf82c9-2179-46f3-b009-11416a90d248/"&gt;http://social.msdn.microsoft.com/forums/en-US/sqldisasterrecovery/thread/48cf82c9-2179-46f3-b009-11416a90d248/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
However, I had to do a lot of R&amp;amp;D to get the actual SQL commands working.&lt;br /&gt;
&lt;br /&gt;
Go to your SQL Server and ensure either your Central Admin Content Database or Config Database, if it is in Suspect mode, then this post is for you, see snapshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-f59lkbhjhP0/TdMqLDWXZHI/AAAAAAAABDY/jYfhS3iyx5s/s1600/SuspectMode.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="58" src="http://2.bp.blogspot.com/-f59lkbhjhP0/TdMqLDWXZHI/AAAAAAAABDY/jYfhS3iyx5s/s320/SuspectMode.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So either a Central Admin Content database or a Config database can abruptly go into the suspect mode without any apparent logical reason. In my case, SharePoint Central Admin Content Database went into the Suspect mode.&lt;br /&gt;
&lt;br /&gt;
To resolve the issue, follow steps in the following order as mentioned:&lt;br /&gt;
&lt;br /&gt;
1. Go to your MSSQL\Data files that reside under:&amp;nbsp;C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/--ZpXNcf_p4M/TdMrfQDOGNI/AAAAAAAABDc/gYYSgVHlzw8/s1600/SPAdminContentDB.jpg" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="132" src="http://2.bp.blogspot.com/--ZpXNcf_p4M/TdMrfQDOGNI/AAAAAAAABDc/gYYSgVHlzw8/s400/SPAdminContentDB.jpg" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2. Identify your Central Admin Content Database name in my case it got screwed up and was in the suspect: mode: so this is my content database name&amp;nbsp;&lt;b&gt;SharePoint_AdminContent_38c5cc2d-aeec-4dc2-b7a5-65457250ae2c&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;NOTE: &lt;/b&gt;Please take a backup of the corrupted .mdf and .ldf files, before following other steps.&lt;br /&gt;
&lt;br /&gt;
3. Open your SQL Server Management Studio -&amp;gt;, New Query and it opens up your SQL Query editor, copy and paste the query below and change the highlighted to your database name:&lt;br /&gt;
&lt;br /&gt;
Use master&lt;br /&gt;
&lt;br /&gt;
--Verify whether Database has any issues&lt;br /&gt;
EXEC sp_resetstatus "&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;SharePoint_AdminContent_38c5cc2d-aeec-4dc2-b7a5-65457250ae2c.mdf&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
---Alter database and put it on Emergency Mode&lt;br /&gt;
ALTER DATABASE "&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;SharePoint_AdminContent_38c5cc2d-aeec-4dc2-b7a5-65457250ae2c&lt;/span&gt;" SET EMERGENCY&lt;br /&gt;
DBCC checkdb('&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;SharePoint_AdminContent_38c5cc2d-aeec-4dc2-b7a5-65457250ae2c&lt;/span&gt;')&lt;br /&gt;
&lt;br /&gt;
--Set the database in the Single User mode&lt;br /&gt;
ALTER DATABASE "&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;SharePoint_AdminContent_38c5cc2d-aeec-4dc2-b7a5-65457250ae2c&lt;/span&gt;" SET SINGLE_USER WITH ROLLBACK IMMEDIATE&lt;br /&gt;
&lt;br /&gt;
--Repair the database and allow data loss&lt;br /&gt;
DBCC CheckDB('&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;SharePoint_AdminContent_38c5cc2d-aeec-4dc2-b7a5-65457250ae2c&lt;/span&gt;',REPAIR_ALLOW_DATA_LOSS)&lt;br /&gt;
&lt;br /&gt;
--Set the database back to Multi-User mode&lt;br /&gt;
ALTER DATABASE "&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;SharePoint_AdminContent_38c5cc2d-aeec-4dc2-b7a5-65457250ae2c&lt;/span&gt;" SET MULTI_USER&lt;br /&gt;
&lt;br /&gt;
--Ensure Database is reset&lt;br /&gt;
EXEC sp_resetstatus '&lt;span class="Apple-style-span" style="background-color: yellow;"&gt;SharePoint_AdminContent_38c5cc2d-aeec-4dc2-b7a5-65457250ae2c&lt;/span&gt;'&lt;br /&gt;
&lt;br /&gt;
Execute all the commands in your SQL Query Editor and there you go, Go back to your SQL Management Studio and you can see that the (Suspect) mode issue against the Content/Config database is fixed and the database got fully repaired and restored.&lt;br /&gt;
&lt;br /&gt;
To verify the same, hit your Central Administration and it starts working just fine...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;NOTE:&lt;/b&gt; This post is true for any Content Database/Config Database in your SharePoint 2010 farm and not subject to only the Central administration web application. It will work equally well, if any of your current Web Application/Site Collection Content database gets corrupted and switches into the Suspect mode.&lt;br /&gt;
&lt;br /&gt;
I hope it helps,&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-5052495302807669184?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=5URh8xG1tfM:1PSJ6Ta9Yj0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=5URh8xG1tfM:1PSJ6Ta9Yj0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=5URh8xG1tfM:1PSJ6Ta9Yj0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=5URh8xG1tfM:1PSJ6Ta9Yj0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=5URh8xG1tfM:1PSJ6Ta9Yj0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=5URh8xG1tfM:1PSJ6Ta9Yj0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=5URh8xG1tfM:1PSJ6Ta9Yj0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=5URh8xG1tfM:1PSJ6Ta9Yj0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/5URh8xG1tfM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/5URh8xG1tfM/sharepoint-central-administration.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-f59lkbhjhP0/TdMqLDWXZHI/AAAAAAAABDY/jYfhS3iyx5s/s72-c/SuspectMode.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/05/sharepoint-central-administration.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-9141983930140046185</guid><pubDate>Tue, 10 May 2011 20:25:00 +0000</pubDate><atom:updated>2011-05-10T16:26:21.342-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script to Enable Developer Dashboard</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1bGyZ3hdeT02CTf9gHJB6oTRBFw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1bGyZ3hdeT02CTf9gHJB6oTRBFw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1bGyZ3hdeT02CTf9gHJB6oTRBFw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1bGyZ3hdeT02CTf9gHJB6oTRBFw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Here is the&amp;nbsp;Powershell script to Enable Developer Dashboard in SharePoint 2010&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration")&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;##Turn On: for on-Demand Mode&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
$service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService&lt;br /&gt;
$addsetting =$service.DeveloperDashboardSettings&lt;br /&gt;
$addsetting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand&lt;br /&gt;
$addsetting.Update()&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;##Turn On&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
$service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService&lt;br /&gt;
$addsetting =$service.DeveloperDashboardSettings&lt;br /&gt;
$addsetting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On&lt;br /&gt;
$addsetting.Update()&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;##Turn Off&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
$service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService&lt;br /&gt;
$addsetting =$service.DeveloperDashboardSettings&lt;br /&gt;
$addsetting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::Off&lt;br /&gt;
$addsetting.Update()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Mode of developer dashboard:&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;On – creates everytime the output at the end of the page content&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Off – switch off developer dashboard and nothing is rendered&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;OnDemand – creates a DeveloperDashboard icon to make dashboard output visible as needed&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Developer Dashboard is visible on the upper right hand corner:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-f1dMDKno8sU/Tcme3ECNe1I/AAAAAAAABDA/INA6wmPANFM/s1600/DeveloperDashboard.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="270" src="http://3.bp.blogspot.com/-f1dMDKno8sU/Tcme3ECNe1I/AAAAAAAABDA/INA6wmPANFM/s400/DeveloperDashboard.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Technet Reference:&amp;nbsp;&lt;a href="http://blogs.technet.com/b/patrick_heyde"&gt;http://blogs.technet.com/b/patrick_heyde&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-9141983930140046185?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3i0nbPuOo4g:idmtYtB9vw8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3i0nbPuOo4g:idmtYtB9vw8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3i0nbPuOo4g:idmtYtB9vw8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=3i0nbPuOo4g:idmtYtB9vw8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3i0nbPuOo4g:idmtYtB9vw8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=3i0nbPuOo4g:idmtYtB9vw8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=3i0nbPuOo4g:idmtYtB9vw8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=3i0nbPuOo4g:idmtYtB9vw8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/3i0nbPuOo4g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/3i0nbPuOo4g/powershell-script-to-enable-developer.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-f1dMDKno8sU/Tcme3ECNe1I/AAAAAAAABDA/INA6wmPANFM/s72-c/DeveloperDashboard.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/05/powershell-script-to-enable-developer.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-5970586701324454648</guid><pubDate>Fri, 06 May 2011 02:34:00 +0000</pubDate><atom:updated>2011-05-05T22:34:53.093-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">code</category><title>Find the Role/Permissions of a currently logged in user in SharePoint 2010</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HSAouDc7kGnTHIPBftM5CpE7ezk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HSAouDc7kGnTHIPBftM5CpE7ezk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HSAouDc7kGnTHIPBftM5CpE7ezk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HSAouDc7kGnTHIPBftM5CpE7ezk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This method below, tries to Find Role/Permission for the currently logged-in user using SPRoleAssignment and SPRoleDefinition objects. Check it out to learn more about the object model for identifying roles using the SPRoleType enumerator&lt;br /&gt;
&lt;br /&gt;
public void FindRolesForCurrentlyLoggedInUser(SPWeb web, SPUser user)&lt;br /&gt;
{&lt;br /&gt;
bool IsApprover = false;&lt;br /&gt;
bool IsReader = false;&lt;br /&gt;
bool IsDirectPermission = false;&lt;br /&gt;
SPSecurity.RunWithElevatedPrivileges(delegate()&lt;br /&gt;
{&lt;br /&gt;
using (SPSite site = new SPSite(siteID))&lt;br /&gt;
{&lt;br /&gt;
using (SPWeb web = site.OpenWeb(webID))&lt;br /&gt;
{&lt;br /&gt;
//Check all Groups in the Current Web&lt;br /&gt;
foreach (SPGroup group in web.Groups)&lt;br /&gt;
{&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
//Check If Currently Logged In User has permissions in the all Web Groups&lt;br /&gt;
if (group.Users[user.LoginName].ID.ToString().Equals(user.ID.ToString()))&lt;br /&gt;
{&lt;br /&gt;
//Get Role Assignments&lt;br /&gt;
SPRoleAssignment currentUserRole = web.RoleAssignments.GetAssignmentByPrincipal(group as SPPrincipal);&lt;br /&gt;
&lt;br /&gt;
//Go through all Role Definition Bindings&lt;br /&gt;
foreach (SPRoleDefinition role in currentUserRole.RoleDefinitionBindings)&lt;br /&gt;
{&lt;br /&gt;
//Check If Role Type == Reader - Do something&lt;br /&gt;
if (role.Type.Equals(SPRoleType.Reader))&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
//Administrators access - Full Control - Do something&lt;br /&gt;
else if (role.Type.Equals(SPRoleType.Administrator))&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
//Contributor access - Contribute - Do something&lt;br /&gt;
else if (role.Type.Equals(SPRoleType.Contributor))&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
//Web Designer access - Design rights- Do something&lt;br /&gt;
else if (role.Type.Equals(SPRoleType.WebDesigner))&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
//Limited access - Do something&lt;br /&gt;
else if (role.Type.Equals(SPRoleType.Guest))&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
//No access on Current Web- Do something&lt;br /&gt;
else if (role.Type.Equals(SPRoleType.None))&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Get Role Assignments for Current User - If he has been directly assigned permissions&lt;br /&gt;
try{SPRoleAssignment directPermission = web.RoleAssignments.GetAssignmentByPrincipal(user as SPPrincipal);}&lt;br /&gt;
catch(Exception){/*Best attempt to catch Exceptions*/}&lt;br /&gt;
}&lt;br /&gt;
catch (Exception)&lt;br /&gt;
{&lt;br /&gt;
/* Best Attempt to find the User In the Group. Do not throw any exception if a user does not exist in the Group */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-5970586701324454648?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=0G28gnvUe5E:6VHwN-qfvMQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=0G28gnvUe5E:6VHwN-qfvMQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=0G28gnvUe5E:6VHwN-qfvMQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=0G28gnvUe5E:6VHwN-qfvMQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=0G28gnvUe5E:6VHwN-qfvMQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=0G28gnvUe5E:6VHwN-qfvMQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=0G28gnvUe5E:6VHwN-qfvMQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=0G28gnvUe5E:6VHwN-qfvMQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/0G28gnvUe5E" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/0G28gnvUe5E/find-rolepermissions-of-currently.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/05/find-rolepermissions-of-currently.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-5769267413848047792</guid><pubDate>Fri, 22 Apr 2011 13:44:00 +0000</pubDate><atom:updated>2011-04-22T09:44:53.758-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script to Backup SharePoint 2010 Farm and Site Collections</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mYn80it-GD6yGhSEIynDae7LiVg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mYn80it-GD6yGhSEIynDae7LiVg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mYn80it-GD6yGhSEIynDae7LiVg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mYn80it-GD6yGhSEIynDae7LiVg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;To start a full farm backup,&lt;br /&gt;
Backup-SPFarm -BackupMethod Full -Directory "Destination-Directory"&lt;br /&gt;
-BackupThreads 5&lt;br /&gt;
&lt;br /&gt;
When the above command is executed, a full farm backup will be performed with&lt;br /&gt;
five threads to perform the backup. You can specify up to 10 threads. However,&lt;br /&gt;
the fewer the backup threads, the easier it is to read the backup log file. You can&lt;br /&gt;
also specify "Differential" as the backup method to perform differential backup of&lt;br /&gt;
SharePoint farm. By default, this does not show the progress of backup&lt;br /&gt;
operation.&lt;br /&gt;
&lt;br /&gt;
To see the progress as backup is performed:&lt;br /&gt;
Backup-SPFarm -BackupMethod Full -Directory "Destination-Directory"&lt;br /&gt;
-BackupThreads 5 –Verbose&lt;br /&gt;
&lt;br /&gt;
To see a list of all items included in backup:&lt;br /&gt;
Backup-SPFarm –ShowTree&lt;br /&gt;
&lt;br /&gt;
To perform a site collection backup:&lt;br /&gt;
Backup-SPSite -Identity "http://SharePointFix:101/" -Path "Path to Backup&lt;br /&gt;
file"&lt;br /&gt;
&lt;br /&gt;
To perform on site collection backup using SQL snapshots:&lt;br /&gt;
Backup-SPSite -Identity "http://SharePointFix:101/" -Path "Path to Backup&lt;br /&gt;
file" –UseSqlSnapShot&lt;br /&gt;
&lt;br /&gt;
There is no option in the central administration to perform backup using SQL&lt;br /&gt;
snapshots. This can be done using PowerShell only. Also, using SQL Snapshots&lt;br /&gt;
is the recommended way to perform a site collection backup. This will allow users&lt;br /&gt;
to continue to read / write site collection content while the backup is in progress.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References: &lt;/b&gt;Knowledge Base article from &lt;a href="http://www.powergui.org/"&gt;http://www.powergui.org/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-5769267413848047792?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bu-WM0Jqhe8:cPziax3VhsM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bu-WM0Jqhe8:cPziax3VhsM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bu-WM0Jqhe8:cPziax3VhsM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=bu-WM0Jqhe8:cPziax3VhsM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bu-WM0Jqhe8:cPziax3VhsM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=bu-WM0Jqhe8:cPziax3VhsM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=bu-WM0Jqhe8:cPziax3VhsM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=bu-WM0Jqhe8:cPziax3VhsM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/bu-WM0Jqhe8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/bu-WM0Jqhe8/powershell-script-to-backup-sharepoint.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>3</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/04/powershell-script-to-backup-sharepoint.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-1864097275715618744</guid><pubDate>Thu, 21 Apr 2011 19:35:00 +0000</pubDate><atom:updated>2011-04-21T15:36:45.369-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script to create nested subsites within a site collection</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZV971wUSgQGboRv7d2mFojYN0Rc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZV971wUSgQGboRv7d2mFojYN0Rc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZV971wUSgQGboRv7d2mFojYN0Rc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZV971wUSgQGboRv7d2mFojYN0Rc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Our goal is to create 50 parent subsites and iteratively create 5  nested child subsites underneath each of them. So mathematically it is 50  subsites * 5 nested subsites per parent subsite = 250 nested sub-sites in total.&lt;br /&gt;
&lt;br /&gt;
The powershell scriptlet below accepts Site Collection URL,&amp;nbsp; Site  Collection Template,&amp;nbsp;Site Collection Language, Sub-site Name and a Nested Sub-site name as  configurable parameters, it then goes through each of them and  creates nested sub-sites for that particular Site  Collection. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Instructions:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
1. Copy and Paste the code below and save it as &lt;b&gt;CreateNestedSubSites.ps1&lt;/b&gt;, see  highlighted yellow sections to change configurable values:&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
## SharePoint DLL &lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") &lt;br /&gt;
&lt;br /&gt;
#Creating Sub Sites in top site collection.&lt;br /&gt;
Write-Output " "&lt;br /&gt;
Write-Output "Creating 250 Nested Sub-Sites"&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;$SiteCollectionURL = "http://localhost/sites/NestedSubSites"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;$SiteCollectionTemplate = "BLANKINTERNETCONTAINER#0" &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;$SiteCollectionLanguage = 1033&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;$StaplingWeb = "StaplingWeb"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;$StaplingNestedSubWeb = "NestedWeb"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
## Iterate via 50 Subsites&lt;br /&gt;
for($i=0 ; $i -lt 50 ; $i++)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $SiteUrl = ""&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $SubSiteName = ""&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $SiteUrl = $SiteCollectionURL + "/"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $SubSiteName = $StaplingWeb + $i&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $SiteUrl = $SiteUrl += $SubSiteName&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "Creating Sub-Site for " $SubSiteName&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; New-SPWeb $SiteUrl -Template $SiteCollectionTemplate -Name $SubSiteName&amp;nbsp; -UseParentTopNav -Language $SiteCollectionLanguage&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "Site Created for " $SubSiteName&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ## Create 5 Subsites underneath each of the 50 subsites&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for($j=0 ; $j -lt 5 ; $j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $NestedSubSiteUrl = ""&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $NestedSubSiteName = ""&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $NestedSubSiteName = $StaplingNestedSubWeb + $j&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $NestedSubSiteUrl = $SiteUrl + "/"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $NestedSubSiteUrl = $NestedSubSiteUrl += $NestedSubSiteName&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "Creating Nested Sub-Site for :" $NestedSubSiteName&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; New-SPWeb $NestedSubSiteUrl -Template $SiteCollectionTemplate -Name $NestedSubSiteName&amp;nbsp; -UseParentTopNav -Language $SiteCollectionLanguage&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "Nested Sub-Site created for :" $NestedSubSiteName&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
2. To automatically run the &lt;b&gt;CreateNestedSubSites.ps1&lt;/b&gt; script as a batch utility,  Copy and paste code below and save it with a .bat file extension&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".\CreateNestedSubSites.ps1" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the Script and enjoy :)  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-1864097275715618744?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=OPL6MpMnVFA:dksO3jkM8ns:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=OPL6MpMnVFA:dksO3jkM8ns:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=OPL6MpMnVFA:dksO3jkM8ns:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=OPL6MpMnVFA:dksO3jkM8ns:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=OPL6MpMnVFA:dksO3jkM8ns:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=OPL6MpMnVFA:dksO3jkM8ns:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=OPL6MpMnVFA:dksO3jkM8ns:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=OPL6MpMnVFA:dksO3jkM8ns:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/OPL6MpMnVFA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/OPL6MpMnVFA/powershell-script-to-create-nested.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/04/powershell-script-to-create-nested.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-8806170470307156842</guid><pubDate>Tue, 19 Apr 2011 18:43:00 +0000</pubDate><atom:updated>2011-04-19T14:43:36.320-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell Script to create subsites within a site collection</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/a3UchKB3nZqpXU27yOTsi7g_TZs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/a3UchKB3nZqpXU27yOTsi7g_TZs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/a3UchKB3nZqpXU27yOTsi7g_TZs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/a3UchKB3nZqpXU27yOTsi7g_TZs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The powershell scriptlet below accepts Site Collection URL,&amp;nbsp; Site Collection Template,&amp;nbsp;Site Collection Language and Sub Site Names as configurable parameters, it then goes through each subsite array and creates subsites for that particular Site  Collection.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Instructions:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
1. Copy and Paste the code below and save it as CreateSubSite.ps1, see highlighted yellow sections to change configurable values:&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
## SharePoint DLL &lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") &lt;br /&gt;
&lt;br /&gt;
#Creating Sub Sites in top site collection.&lt;br /&gt;
Write-Output " "&lt;br /&gt;
Write-Output "Creating Sub Sites"&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;$SiteCollectionURL = "http://localhost/sites/SPFix"&lt;/span&gt;&lt;br /&gt;
&lt;br style="background-color: yellow;" /&gt;&lt;span style="background-color: yellow;"&gt;$SiteCollectionTemplate = "STS#0" &lt;/span&gt;&lt;br /&gt;
&lt;br style="background-color: yellow;" /&gt;&lt;span style="background-color: yellow;"&gt;$SiteCollectionLanguage = 1033&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;$SubSites = @("Central Services", "Knowledge Base", "Service Center", "IT", "HR", "Finance")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
for($i=0 ; $i -lt $SubSites.count ; $i++)&lt;br /&gt;
{&lt;br /&gt;
$SiteUrl = ""&lt;br /&gt;
$SiteUrl = $SiteCollectionURL + "/" &lt;br /&gt;
$SiteUrl = $SiteUrl += $SubSites[$i]&lt;br /&gt;
Write-Output " "&lt;br /&gt;
#Write-Output "Creating Site for " += $SubSites[$i]&lt;br /&gt;
Write-Output " "&lt;br /&gt;
New-SPWeb $SiteUrl -Template $SiteCollectionTemplate -Name $SubSites[$i]&amp;nbsp; -UseParentTopNav -Language $SiteCollectionLanguage&lt;br /&gt;
Write-Output " "&lt;br /&gt;
#Write-Output "Site Created for " += $SubSites[$i]&lt;br /&gt;
Write-Output " "&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
2. To automatically run the CreateSubSite.ps1 script as a batch utility, Copy and paste code below and save it with a .bat file extension&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".\CreateSubSite.ps1" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
Run the Script and Enjoy :) &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-8806170470307156842?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LY_3tBVgGv4:Hq7eud7YD9s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LY_3tBVgGv4:Hq7eud7YD9s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LY_3tBVgGv4:Hq7eud7YD9s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LY_3tBVgGv4:Hq7eud7YD9s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LY_3tBVgGv4:Hq7eud7YD9s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LY_3tBVgGv4:Hq7eud7YD9s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LY_3tBVgGv4:Hq7eud7YD9s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LY_3tBVgGv4:Hq7eud7YD9s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/LY_3tBVgGv4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/LY_3tBVgGv4/powershell-script-to-create-subsites.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>1</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/04/powershell-script-to-create-subsites.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-196747965528029142</guid><pubDate>Fri, 08 Apr 2011 04:54:00 +0000</pubDate><atom:updated>2011-04-08T01:00:14.927-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell Script to Delete Site Columns from SharePoint SiteCollection RootWeb</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Nnsy7hQn_zmSs-ro2SwouBkT5QM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Nnsy7hQn_zmSs-ro2SwouBkT5QM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Nnsy7hQn_zmSs-ro2SwouBkT5QM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Nnsy7hQn_zmSs-ro2SwouBkT5QM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
The code below accepts Site Collection URL and Site Columns List as configurable parameters, it then goes through each semi-colon separated Site Columns List and deletes it from the RootWeb of the Site Collection.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Instructions:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
1. Copy and Paste the code below and save it as DeleteSiteColumns.ps1, see highlighted sections to change configurable values:&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
&lt;br /&gt;
set-variable -option constant -name url &amp;nbsp;-value &lt;span class="Apple-style-span" style="background-color: yellow;"&gt;"http://localhost/"&lt;/span&gt; # Specify your Site collection URL&lt;br /&gt;
$siteColumnsList = &lt;span class="Apple-style-span" style="background-color: yellow;"&gt;"Display Name Column1;Display Name Column2;Display Name Column3"&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;# Specify a list of Site Column Names to be deleted&lt;br /&gt;
&lt;br /&gt;
$site = new-object Microsoft.SharePoint.SPSite($url)&lt;br /&gt;
$array = $siteColumnsList.Split(";")&lt;br /&gt;
&lt;br /&gt;
foreach($colms in $array)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;try&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;$column = $site.rootweb.Fields[$colms]&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;$site.rootweb.Fields.Delete($column)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Write-Host $column.Title "deleted successfully."&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;catch [System.Exception]&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Write-Host $column.Title "deleted failed."&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;#Best Attempt to Remove Site Columns&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$site.Dispose()&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
Echo Finish&lt;br /&gt;
&lt;br /&gt;
2. To automatically run the .ps1 script as a batch utility, Copy and paste code below and save it with a .bat file extension&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".\DeleteSiteColumns.ps1" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the Script and Enjoy :)&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-196747965528029142?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=XWGs319aOew:24pjg-k47M4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=XWGs319aOew:24pjg-k47M4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=XWGs319aOew:24pjg-k47M4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=XWGs319aOew:24pjg-k47M4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=XWGs319aOew:24pjg-k47M4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=XWGs319aOew:24pjg-k47M4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=XWGs319aOew:24pjg-k47M4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=XWGs319aOew:24pjg-k47M4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/XWGs319aOew" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/XWGs319aOew/powershell-script-to-delete-site.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>2</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/04/powershell-script-to-delete-site.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-6010126428503523980</guid><pubDate>Wed, 09 Mar 2011 02:05:00 +0000</pubDate><atom:updated>2011-03-08T21:10:24.887-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Powershell script - Get all Site Columns for a SharePoint 2010 site collection</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zF3OEmp4EHPpLrfkxB-BAdrr32Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zF3OEmp4EHPpLrfkxB-BAdrr32Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zF3OEmp4EHPpLrfkxB-BAdrr32Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zF3OEmp4EHPpLrfkxB-BAdrr32Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Here is the powershell script to retrieve all Site Columns for a SharePoint 2010 site collection and output the&amp;nbsp;details into a .csv file&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Copy the&amp;nbsp;code below and&amp;nbsp;change the Site Collection URL and Output Path as per your requirement, save the following as .ps1 file:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
## SharePoint DLL &lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") &lt;br /&gt;
# Description&lt;br /&gt;
#&amp;nbsp;&amp;nbsp; Output all available Column Field GUIDs to AllColumnFields.csv&lt;br /&gt;
&lt;br /&gt;
# Settings Start&lt;br /&gt;
set-variable -option constant -name url&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -value "&lt;span style="background-color: yellow;"&gt;http://localhost&lt;/span&gt;"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Site collection&lt;br /&gt;
set-variable -option constant -name out&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -value "&lt;span style="background-color: yellow;"&gt;C:AllColumnFields.csv&lt;/span&gt;"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Output file&lt;br /&gt;
# Settings End&lt;br /&gt;
&lt;br /&gt;
$site&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; new-object Microsoft.SharePoint.SPSite($url)&lt;br /&gt;
$web&amp;nbsp;&amp;nbsp;&amp;nbsp; = $site.rootweb.Fields&lt;br /&gt;
echo "Generating File..."&lt;br /&gt;
ForEach ($id in $web)&lt;br /&gt;
{&lt;br /&gt;
'"' + $id.Title + `&lt;br /&gt;
'","' + $id.Id + `&lt;br /&gt;
'","' + $id.InternalName + `&lt;br /&gt;
'","' + $id.StaticName + `&lt;br /&gt;
'","' + $id.MaxLength + `&lt;br /&gt;
'","' + $id.Description + `&lt;br /&gt;
'","' + $id.Group + `&lt;br /&gt;
'","' + $id.TypeShortDescription + `&lt;br /&gt;
'"' | Out-File $out -append&lt;br /&gt;
}&lt;br /&gt;
$site.Dispose()&lt;br /&gt;
echo "Finished"&lt;br /&gt;
echo "File created at : " $out &lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
It outputs all the Site Column details&amp;nbsp;available in the Site Columns Gallery to a &lt;strong&gt;.csv&lt;/strong&gt; file.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-6010126428503523980?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=ev5rnV27Phs:rgRmnISKek4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=ev5rnV27Phs:rgRmnISKek4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=ev5rnV27Phs:rgRmnISKek4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=ev5rnV27Phs:rgRmnISKek4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=ev5rnV27Phs:rgRmnISKek4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=ev5rnV27Phs:rgRmnISKek4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=ev5rnV27Phs:rgRmnISKek4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=ev5rnV27Phs:rgRmnISKek4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/ev5rnV27Phs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/ev5rnV27Phs/powershell-script-get-all-site-columns.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>6</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/03/powershell-script-get-all-site-columns.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-681876021973235157</guid><pubDate>Sun, 27 Feb 2011 12:44:00 +0000</pubDate><atom:updated>2011-02-27T12:21:13.433-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Best Practices</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>SPSecurity.RunWithElevatedPrivileges Access denied issue</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HgyDM6S2QzhEUvyM454NlFNlC5Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HgyDM6S2QzhEUvyM454NlFNlC5Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HgyDM6S2QzhEUvyM454NlFNlC5Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HgyDM6S2QzhEUvyM454NlFNlC5Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;SPRunWithElevatedPrivileges&lt;/b&gt; allows you to run your SharePoint code in the context of the App Pool identity account.&lt;br /&gt;
&lt;br /&gt;
Look at the piece of code below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function void ListItemUpdate(Guid guId)&lt;br /&gt;
{&lt;br /&gt;
SPSecurity.RunWithElevatedPrivileges(delegate()&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;SPSite site = SPContext.Current.Site;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;SPWeb web = SPContext.Current.Web;&lt;/span&gt;&lt;br /&gt;
web.AllowUnsafeUpdates = true;&lt;br /&gt;
&lt;br /&gt;
SPList list = web.Lists["Products"];&lt;br /&gt;
SPListItem item = list.Items[guId];&lt;br /&gt;
item["ProductName"] = "Apple iPhone 4";&lt;br /&gt;
item["ProductPrice"] = "199";&lt;br /&gt;
&lt;br /&gt;
item.Update();&lt;br /&gt;
&lt;br /&gt;
web.AllowUnsafeUpdates = false;&lt;br /&gt;
});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
So when a user with Read access tries to execute the above code, he gets an &lt;span style="color: red;"&gt;Access denied error&lt;/span&gt;, even after the code having the RunWithElevated Privileges set.&lt;br /&gt;
&lt;br /&gt;
Lets examine, look at the code highlighted in &lt;span style="background-color: yellow;"&gt;yellow&lt;/span&gt; above. &lt;span style="background-color: yellow;"&gt;SPContext.Current.Site&lt;/span&gt; and &lt;span style="background-color: yellow;"&gt;SPContext.Current.Web&lt;/span&gt; runs the List Item update code in the context of the currently logged in user and not in the context of the App Pool identity.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution: &lt;/b&gt;Solution is to re-open new &lt;b&gt;SPSite&lt;/b&gt; and &lt;b&gt;SPWeb&lt;/b&gt; objects within the &lt;b&gt;SPSecurity&lt;/b&gt; delegate block, lets rewrite the above code and fix the issue:&lt;br /&gt;
&lt;br /&gt;
function void ListItemUpdate(Guid guId)&lt;br /&gt;
{&lt;br /&gt;
Guid siteId = SPContext.Current.Site.Id;&lt;br /&gt;
Guid webId = SPContext.Current.Web.Id;&lt;br /&gt;
&lt;br /&gt;
SPSecurity.RunWithElevatedPrivileges(delegate()&lt;br /&gt;
{&lt;br /&gt;
using (SPSite site = new SPSite(siteId))&lt;br /&gt;
{&lt;br /&gt;
using (SPWeb web = site.OpenWeb(webId))&lt;br /&gt;
{&lt;br /&gt;
web.AllowUnsafeUpdates = true;&lt;br /&gt;
&lt;br /&gt;
SPList list = web.Lists["Products"];&lt;br /&gt;
SPListItem item = list.Items[guId];&lt;br /&gt;
item["ProductName"] = "Apple iPhone 4";&lt;br /&gt;
item["ProductPrice"] = "199";&lt;br /&gt;
item.Update();&lt;br /&gt;
&lt;br /&gt;
web.AllowUnsafeUpdates = false;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Running this piece of code fixes the &lt;span style="color: red;"&gt;Access denied issue&lt;/span&gt; and allows the code to run under AppPool identity. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-681876021973235157?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LFsR-CQ2yHo:KgnKpcBO0YM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LFsR-CQ2yHo:KgnKpcBO0YM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LFsR-CQ2yHo:KgnKpcBO0YM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LFsR-CQ2yHo:KgnKpcBO0YM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LFsR-CQ2yHo:KgnKpcBO0YM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LFsR-CQ2yHo:KgnKpcBO0YM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=LFsR-CQ2yHo:KgnKpcBO0YM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=LFsR-CQ2yHo:KgnKpcBO0YM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/LFsR-CQ2yHo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/LFsR-CQ2yHo/sprunwithelevatedprivileges-access.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>2</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/02/sprunwithelevatedprivileges-access.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-1162507296701819945</guid><pubDate>Wed, 23 Feb 2011 09:59:00 +0000</pubDate><atom:updated>2011-02-23T05:31:23.735-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Best Practices</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>SharePoint 2010 - Do not dispose guidance for SharePoint objects</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NMZSNRTY_ehJHHX5UAJosQhISyM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NMZSNRTY_ehJHHX5UAJosQhISyM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NMZSNRTY_ehJHHX5UAJosQhISyM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NMZSNRTY_ehJHHX5UAJosQhISyM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;strong&gt;Do not dispose&lt;/strong&gt; the following listed SharePoint objects explicitly: (Applicable for both SharePoint 2010 and SharePoint 2007)&lt;br /&gt;
&lt;br /&gt;
•SPContext.Current.Site &lt;br /&gt;
&lt;br /&gt;
•SPContext.Current.Web &lt;br /&gt;
&lt;br /&gt;
•SPContext.Site &lt;br /&gt;
&lt;br /&gt;
•SPContext.Web &lt;br /&gt;
&lt;br /&gt;
•SPControl.GetContextWeb(..) &lt;br /&gt;
&lt;br /&gt;
•SPControl.GetContextSite(..) &lt;br /&gt;
&lt;br /&gt;
•SPFeatureReceiverProperties.Feature.Parent &lt;br /&gt;
&lt;br /&gt;
•SPItemEventProperties.ListItem.Web &lt;br /&gt;
&lt;br /&gt;
•SPList.BreakRoleInheritance() &lt;br /&gt;
&lt;br /&gt;
◦Do not call list.ParentWeb.Dispose()&lt;br /&gt;
&lt;br /&gt;
•SPListEventProperties.Web &lt;br /&gt;
&lt;br /&gt;
•SPListEventProperties.List.Web &lt;br /&gt;
&lt;br /&gt;
•SPSite.RootWeb &lt;br /&gt;
&lt;br /&gt;
◦Problems may occur when SPContext.Web has equality to the SPContext.Web.. make sure you dispose of SPSite and it will cleanup sub webs automatically&lt;br /&gt;
&lt;br /&gt;
•SPSite.LockIssue &lt;br /&gt;
&lt;br /&gt;
•SPSite.Owner &lt;br /&gt;
&lt;br /&gt;
•SPSite.SecondaryContact &lt;br /&gt;
&lt;br /&gt;
•SPWeb.ParentWeb &lt;br /&gt;
&lt;br /&gt;
•SPWebEventProperties.Web&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Few important changes for Dispose rules&amp;nbsp;in SharePoint 2010:&lt;/strong&gt;&lt;br /&gt;
•Microsoft.SharePoint.WebControls.SiteAdminsitrationSelector.CurrentItem &lt;br /&gt;
When used with WSS 3.0 you must call Dispose(), with SharePoint Foundation 2010 you don’t.&lt;br /&gt;
&lt;br /&gt;
•Event Receivers and properties.OpenWeb() &lt;br /&gt;
WSS 3.0: When you call properties.OpenWeb() the returned SPWeb will need to call Dispose() &lt;br /&gt;
SharePoint Foundation 2010: Use the newly introduced SPItemEventProperties.Web property instead of SPItemEventProperties.OpenWeb() for better performance and to avoid the need to call Dispose().&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Reference:&lt;/strong&gt; &lt;a href="http://blogs.msdn.com/b/rogerla/archive/2009/11/30/sharepoint-2007-2010-do-not-dispose-guidance-spdisposecheck.aspx"&gt;http://blogs.msdn.com/b/rogerla/archive/2009/11/30/sharepoint-2007-2010-do-not-dispose-guidance-spdisposecheck.aspx&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-1162507296701819945?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=S21rJpUf7Uo:MvVBw7Hyg1w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=S21rJpUf7Uo:MvVBw7Hyg1w:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=S21rJpUf7Uo:MvVBw7Hyg1w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=S21rJpUf7Uo:MvVBw7Hyg1w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=S21rJpUf7Uo:MvVBw7Hyg1w:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=S21rJpUf7Uo:MvVBw7Hyg1w:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=S21rJpUf7Uo:MvVBw7Hyg1w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=S21rJpUf7Uo:MvVBw7Hyg1w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/S21rJpUf7Uo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/S21rJpUf7Uo/sharepoint-2010-best-practices-for.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/02/sharepoint-2010-best-practices-for.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-3118648001282014161</guid><pubDate>Sun, 20 Feb 2011 07:27:00 +0000</pubDate><atom:updated>2011-02-20T02:27:44.950-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">code</category><title>XML and XSL transformation control for SharePoint 2010</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/s2QOzIUBMjGj98wr0pumGNK6j4w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s2QOzIUBMjGj98wr0pumGNK6j4w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/s2QOzIUBMjGj98wr0pumGNK6j4w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s2QOzIUBMjGj98wr0pumGNK6j4w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The ASP.NET control &lt;asp:xml&gt; control for SharePoint enable users to provide their XML and XSL files, spitting out the resulting HTML based on the two control parameters.&lt;/asp:xml&gt;&lt;br /&gt;
&lt;br /&gt;
1. Copy and paste the code below in your custom SharePoint page:&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;asp:Xml runat="server" id="xmlEmployee" DocumentSource="/_layouts/SPFix/Employee.xml" TransformSource="/_layouts/SPFix/Employee.xsl"&amp;gt;&lt;br /&gt;
&amp;lt;/asp:Xml&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. The Document Source behavior takes an XML file path and Transform Source takes an XSL file path&lt;br /&gt;
3. You can see the resulting HTML spitted out to the browser when you hit your SharePoint custom page.&lt;br /&gt;
&lt;br /&gt;
Quickest way is to try using SharePoint Designer as per the best practice you need to create a Visual Studio solution for your SharePoint pages.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-3118648001282014161?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=lE0v8e-w-20:QmVM14K_ZQk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=lE0v8e-w-20:QmVM14K_ZQk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=lE0v8e-w-20:QmVM14K_ZQk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=lE0v8e-w-20:QmVM14K_ZQk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=lE0v8e-w-20:QmVM14K_ZQk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=lE0v8e-w-20:QmVM14K_ZQk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=lE0v8e-w-20:QmVM14K_ZQk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=lE0v8e-w-20:QmVM14K_ZQk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/lE0v8e-w-20" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/lE0v8e-w-20/xml-and-xsl-transformation-control-for.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/02/xml-and-xsl-transformation-control-for.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-8133192595846834543</guid><pubDate>Sun, 20 Feb 2011 03:23:00 +0000</pubDate><atom:updated>2011-02-20T01:45:34.433-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">code</category><title>StringWriter and HTMLTextWriter objects to emit HTML in custom Webparts</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ehYH86fEKeCDP1rShX48Md_ZRAg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ehYH86fEKeCDP1rShX48Md_ZRAg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ehYH86fEKeCDP1rShX48Md_ZRAg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ehYH86fEKeCDP1rShX48Md_ZRAg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;You could also use StringWriter and HTMLTextWriter objects to write HTML to the Web part rather than the LiteralControl. &lt;br /&gt;
&lt;br /&gt;
For example, the following code creates a simple StringBuilder object, then writes that through using the&lt;br /&gt;
StringWriter and HtmlTextWriter objects:&lt;br /&gt;
&lt;br /&gt;
StringBuilder sb = new StringBuilder();&lt;br /&gt;
sb.AppendLine(“&amp;lt;table border=’0’&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;”);&lt;br /&gt;
StringWriter spStrWriter = new StringWriter(sb);&lt;br /&gt;
HtmlTextWriter htmlTxtWriter = new HtmlTextWriter(spStrWriter);&lt;br /&gt;
Page.RenderControl(htmlTxtWriter);&lt;br /&gt;
&lt;br /&gt;
Admittedly, the use of multiple literalcontrol objects is not the most elegant of ways to emit HTML&lt;br /&gt;
when rendering Web parts. See an example usage of Literal Controls mentioned below: &lt;br /&gt;
&lt;br /&gt;
StringBuilder sb = new StringBuilder();&lt;br /&gt;
sb.AppendLine(“&amp;lt;table border=’0’&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;”);&lt;br /&gt;
this.Controls.Add(new LiteralControl(sb.ToString()));&lt;br /&gt;
&lt;br /&gt;
ASP.NET provides a rich framework for writing HTML out to the page, which includes the HtmlTextWriter class. We can leverage this while writing custom webparts &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-8133192595846834543?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tAJdBFdpnOo:3gUGTXQ3cVQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tAJdBFdpnOo:3gUGTXQ3cVQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tAJdBFdpnOo:3gUGTXQ3cVQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=tAJdBFdpnOo:3gUGTXQ3cVQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tAJdBFdpnOo:3gUGTXQ3cVQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=tAJdBFdpnOo:3gUGTXQ3cVQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=tAJdBFdpnOo:3gUGTXQ3cVQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=tAJdBFdpnOo:3gUGTXQ3cVQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/tAJdBFdpnOo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/tAJdBFdpnOo/stringwriter-and-htmltextwriter-objects.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/02/stringwriter-and-htmltextwriter-objects.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-8355795508743186588</guid><pubDate>Sun, 20 Feb 2011 02:42:00 +0000</pubDate><atom:updated>2011-02-19T21:42:51.889-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">code</category><title>How to register Javascripts within SharePoint page programmatically</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5AjcbwbT6DMLUv32fVKJ6OvCdMc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5AjcbwbT6DMLUv32fVKJ6OvCdMc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5AjcbwbT6DMLUv32fVKJ6OvCdMc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5AjcbwbT6DMLUv32fVKJ6OvCdMc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;When you’re integrating script within a SharePoint page, you can use the ClientScriptManager object to add and manage scripts within a Web application. For example, the following code snippet shows a simple method that ensures only one instance of each script is added to a page:&lt;br /&gt;
&lt;br /&gt;
public static void RegisterScript&lt;br /&gt;
(ref ClientScriptManager csm,&lt;br /&gt;
string key, string url)&lt;br /&gt;
{&lt;br /&gt;
if (!csm.IsClientScriptBlockRegistered(key))&lt;br /&gt;
csm.RegisterClientScriptInclude(key, url);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
For more information on the ClientScriptManager, see &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.aspx&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-8355795508743186588?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=GGx_Up7XjfQ:DIRYDP1w040:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=GGx_Up7XjfQ:DIRYDP1w040:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=GGx_Up7XjfQ:DIRYDP1w040:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=GGx_Up7XjfQ:DIRYDP1w040:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=GGx_Up7XjfQ:DIRYDP1w040:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=GGx_Up7XjfQ:DIRYDP1w040:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=GGx_Up7XjfQ:DIRYDP1w040:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=GGx_Up7XjfQ:DIRYDP1w040:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/GGx_Up7XjfQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/GGx_Up7XjfQ/how-to-register-javascripts-within.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/02/how-to-register-javascripts-within.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-9010486128289668411</guid><pubDate>Fri, 04 Feb 2011 04:33:00 +0000</pubDate><atom:updated>2011-02-03T23:47:06.662-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Utilities</category><category domain="http://www.blogger.com/atom/ns#">Resources</category><title>Visual Studio 2010 and FxCop Integration</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/y6KYLr8m1CegrXHZ9AzdkG4cVOo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y6KYLr8m1CegrXHZ9AzdkG4cVOo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/y6KYLr8m1CegrXHZ9AzdkG4cVOo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y6KYLr8m1CegrXHZ9AzdkG4cVOo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Visual Studio 2010 Premium and Ultimate Editions&lt;/b&gt; already have &lt;b&gt;FxCop&lt;/b&gt; installed by default under the &lt;b&gt;Code Analysis&lt;/b&gt; section in the Build menu option, see snapshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/TUt94k3STcI/AAAAAAAABCI/XklbIV5dqYc/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="257" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/TUt94k3STcI/AAAAAAAABCI/XklbIV5dqYc/s320/1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
You can configure your own Rules by right clicking on your &lt;b&gt;Project&lt;/b&gt; -&amp;gt; &lt;b&gt;Properties&lt;/b&gt; -&amp;gt;&lt;b&gt; Code Analysis&lt;/b&gt; -&amp;gt; Set the &lt;b&gt;Rule Set&lt;/b&gt; option as shown in the snapshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/TUt-uC9hhII/AAAAAAAABCM/HHXrlvEwM0k/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/TUt-uC9hhII/AAAAAAAABCM/HHXrlvEwM0k/s400/2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
To run the &lt;b&gt;Code Analysis &lt;/b&gt;section, right click on your &lt;b&gt;Project&lt;/b&gt; -&amp;gt; &lt;b&gt;Run Code Analysis&lt;/b&gt; as shown in the snapshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_x_mtoaEl5Us/TUt__OHh7fI/AAAAAAAABCQ/ARjx36GMOQ4/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/_x_mtoaEl5Us/TUt__OHh7fI/AAAAAAAABCQ/ARjx36GMOQ4/s400/3.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
You will see the &lt;b&gt;Code Analysis Results&lt;/b&gt; in the &lt;b&gt;Error List &lt;/b&gt;window as shown in the snapshot below:&lt;br /&gt;
(Check for both Errors and Warnings and fix them)&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUuBDQrcBMI/AAAAAAAABCY/TYuOJG136qA/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="268" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUuBDQrcBMI/AAAAAAAABCY/TYuOJG136qA/s640/4.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
I hope this helps.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-9010486128289668411?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=9XuQYDmtcHw:LEYzoGSQ-ec:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=9XuQYDmtcHw:LEYzoGSQ-ec:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=9XuQYDmtcHw:LEYzoGSQ-ec:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=9XuQYDmtcHw:LEYzoGSQ-ec:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=9XuQYDmtcHw:LEYzoGSQ-ec:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=9XuQYDmtcHw:LEYzoGSQ-ec:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=9XuQYDmtcHw:LEYzoGSQ-ec:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=9XuQYDmtcHw:LEYzoGSQ-ec:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/9XuQYDmtcHw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/9XuQYDmtcHw/visual-studio-2010-fxcop-integration.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_x_mtoaEl5Us/TUt94k3STcI/AAAAAAAABCI/XklbIV5dqYc/s72-c/1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/02/visual-studio-2010-fxcop-integration.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-3966436101605756294</guid><pubDate>Thu, 03 Feb 2011 17:36:00 +0000</pubDate><atom:updated>2011-02-03T23:37:40.925-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Utilities</category><category domain="http://www.blogger.com/atom/ns#">code</category><category domain="http://www.blogger.com/atom/ns#">Resources</category><title>SPDispose Check utility - Integrate with Visual Studio 2010</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lJbYKIv181czN7iivmOz2PLgxHk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lJbYKIv181czN7iivmOz2PLgxHk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lJbYKIv181czN7iivmOz2PLgxHk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lJbYKIv181czN7iivmOz2PLgxHk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;SPDisposeCheck utility checks whether you have disposed the unmanaged SPSite and SPWeb objects correctly or not. Its a tool that every SharePoint developer needs to have integrated in their Visual Studio boxes.&lt;br /&gt;
&lt;br /&gt;
I have prepared a list of Best Practices for Disposing SharePoint objects: &lt;a href="http://www.sharepointfix.com/2008/12/best-practices-disposing-sharepoint.html"&gt;http://www.sharepointfix.com/2008/12/best-practices-disposing-sharepoint.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Guidelines to integrate SPDisposeCheck with Visual Studio Solution: &lt;br /&gt;
&lt;br /&gt;
1. Download the SPDisposeCheck.exe utility from: &lt;a href="http://download.microsoft.com/download/B/4/D/B4D279A0-E159-40BF-A5E8-F49ABDBE95C7/SPDisposeCheck.msi"&gt;http://download.microsoft.com/download/B/4/D/B4D279A0-E159-40BF-A5E8-F49ABDBE95C7/SPDisposeCheck.msi&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2. Open your Visual Studio environment and follow the steps as specified:&lt;br /&gt;
a. Go to Tools -&amp;gt; External Tools -&amp;gt; Add&lt;br /&gt;
b. Enter Title as SPDisposeCheck&lt;br /&gt;
c. Command : C:\Program Files (x86)\Microsoft\SharePoint Dispose Check\SPDisposeCheck.exe&lt;br /&gt;
d. Arguments : $(TargetName)$(TargetExt)&lt;br /&gt;
e. Initial Directory : $(TargetDir)&lt;br /&gt;
f. Check mark the Output window checkbox and&lt;br /&gt;
g. Click on the Ok button&lt;br /&gt;
&lt;br /&gt;
See snapshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_x_mtoaEl5Us/TUrl1Fae1xI/AAAAAAAABBw/j10RYJcIicU/s1600/ExternalTools.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="385" src="http://1.bp.blogspot.com/_x_mtoaEl5Us/TUrl1Fae1xI/AAAAAAAABBw/j10RYJcIicU/s400/ExternalTools.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
3. Open your Visual Studio solution project and Build it.&lt;br /&gt;
&lt;br /&gt;
4. Select Tools -&amp;gt; SPDisposeCheck:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUrmev0WK2I/AAAAAAAABB0/HE0G2oT9_QY/s1600/ChooseSPDisposeCheck.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUrmev0WK2I/AAAAAAAABB0/HE0G2oT9_QY/s400/ChooseSPDisposeCheck.jpg" width="371" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
5. Open the Output window and you should be able to see a set of messages like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUrnlbxH0QI/AAAAAAAABB4/94KkTSIXyzQ/s1600/SpDisposeCheckOutput+Window.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="284" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUrnlbxH0QI/AAAAAAAABB4/94KkTSIXyzQ/s640/SpDisposeCheckOutput+Window.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
6. It also shows up the errors in the Visual Studio Error Messages section as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUsBoF1k1UI/AAAAAAAABCA/43lcSZuCJsw/s1600/SPDisposeCheckErrorScreen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="59" src="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUsBoF1k1UI/AAAAAAAABCA/43lcSZuCJsw/s640/SPDisposeCheckErrorScreen.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_x_mtoaEl5Us/TUsBF8smpdI/AAAAAAAABB8/s1600/SPDisposeCheckErrorScreen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt; &lt;/a&gt;&lt;/div&gt;7. You can even configure additional SPDispose Check settings within Visual Studio 2010 by selecting "SharePointDispose Check" link under Tools, see snapshot below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_x_mtoaEl5Us/TUsB65kma1I/AAAAAAAABCE/cUUEeYBaKdQ/s1600/VS-SP+Dispose+Check.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_x_mtoaEl5Us/TUsB65kma1I/AAAAAAAABCE/cUUEeYBaKdQ/s400/VS-SP+Dispose+Check.jpg" width="315" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Let me know if it helps.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-3966436101605756294?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pemaQ-28q-4:EoCuH5cyUjY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pemaQ-28q-4:EoCuH5cyUjY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pemaQ-28q-4:EoCuH5cyUjY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=pemaQ-28q-4:EoCuH5cyUjY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pemaQ-28q-4:EoCuH5cyUjY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=pemaQ-28q-4:EoCuH5cyUjY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=pemaQ-28q-4:EoCuH5cyUjY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=pemaQ-28q-4:EoCuH5cyUjY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/pemaQ-28q-4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/pemaQ-28q-4/spdispose-check-utility-integrate-with.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_x_mtoaEl5Us/TUrl1Fae1xI/AAAAAAAABBw/j10RYJcIicU/s72-c/ExternalTools.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/02/spdispose-check-utility-integrate-with.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3132357405579351461.post-502577865715176854</guid><pubDate>Sat, 22 Jan 2011 16:00:00 +0000</pubDate><atom:updated>2012-02-10T01:41:14.740-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell scripts</category><category domain="http://www.blogger.com/atom/ns#">code</category><title>Enumerate site collections, subsites and activate feature using Power Shell</title><description>&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YL8UUG__65Tv2uMm0nEefi3hMOU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YL8UUG__65Tv2uMm0nEefi3hMOU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YL8UUG__65Tv2uMm0nEefi3hMOU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YL8UUG__65Tv2uMm0nEefi3hMOU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This script enumerates through all site collections for a given web application, then enumerates through all subsites within each site collection and activates the given web level feature, copy the script as mentioned below, change the highlighted sections and save it as &lt;span style="background-color: yellow;"&gt;IterateSiteSubsitesActivateWebLevelFeature.ps1&lt;/span&gt; file:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&lt;em&gt;Powershell Script updated on Feb 10th, 2012.&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Add-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
## SharePoint DLL&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
&lt;br /&gt;
$webApplicationURL = "&lt;span style="background-color: yellow;"&gt;http://dev-sp-2010:1000&lt;/span&gt;"&lt;br /&gt;
$featureFolderName = "&lt;span style="background-color: yellow;"&gt;PublishingWeb&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
$webApp = Get-SPWebApplication $webApplicationURL&lt;br /&gt;
&lt;br /&gt;
if($webApp -ne $null)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;foreach($siteColl in $webApp.Sites)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;if($siteColl -ne $null)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;foreach($subWeb in $siteColl.AllWebs)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if($subWeb -ne $null)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;# Print each Subsite&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;#Write-Host $subWeb.Url&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;#Get Feature ID based on the Feature Name&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;$FeatureID = Get-SPFeature -Web $subWeb.Url | Where {$_.DisplayName -eq $featureFolderName}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if($FeatureID -ne $null)&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;#Check whether Feature to be activated is already activated for this subsite&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if (Get-SPFeature -Web $subWeb.Url | Where {$_.ID -eq $FeatureID.Id})&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;Write-Host $featureFolderName "is already activated at :" $subWeb.Url&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;else&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;#Enable-SPFeature -Identity $featureFolderName -Confirm:$false -Url $subWeb.url&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;Write-Host $featureFolderName "has been activated at :" $subWeb.url&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;$subWeb.Dispose()&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;else&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;Echo $subWeb "does not exist"&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;$siteColl.Dispose()&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;else&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;Echo $siteColl "does not exist"&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
Echo $webApplicationURL "does not exist, check the WebApplication name"&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Remove-PsSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;
&lt;br /&gt;
Echo Finish&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
To automatically run this script as a batch utility, use the following: &lt;br /&gt;
Copy code below, save it as a .bat file to run the powershell script&lt;br /&gt;
&lt;br /&gt;
cd /d %~dp0&lt;br /&gt;
powershell -noexit -file ".\&lt;span style="background-color: yellow;"&gt;IterateSiteSubsitesActivateWebLevelFeature.ps1&lt;/span&gt;" "%CD%"&lt;br /&gt;
pause&lt;br /&gt;
&lt;br /&gt;
I hope this helps. Also refer to the Microsoft TechNet post for an alternative webservice approach: &lt;a href="http://blogs.msdn.com/b/vijay/archive/2009/10/01/how-to-list-all-the-sub-sites-and-the-site-collections-within-a-sharepoint-web-application-using-windows-powershell.aspx"&gt;http://blogs.msdn.com/b/vijay/archive/2009/10/01/how-to-list-all-the-sub-sites-and-the-site-collections-within-a-sharepoint-web-application-using-windows-powershell.aspx&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3132357405579351461-502577865715176854?l=www.sharepointfix.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=SujEVCe0XQM:rPU5rwT-Xn4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=SujEVCe0XQM:rPU5rwT-Xn4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=SujEVCe0XQM:rPU5rwT-Xn4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=SujEVCe0XQM:rPU5rwT-Xn4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=SujEVCe0XQM:rPU5rwT-Xn4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=SujEVCe0XQM:rPU5rwT-Xn4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MehulBhuva?a=SujEVCe0XQM:rPU5rwT-Xn4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MehulBhuva?i=SujEVCe0XQM:rPU5rwT-Xn4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MehulBhuva/~4/SujEVCe0XQM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/MehulBhuva/~3/SujEVCe0XQM/enumerate-site-collections-subsites-and.html</link><author>noreply@blogger.com (Mehuil K Bhuva)</author><thr:total>2</thr:total><feedburner:origLink>http://www.sharepointfix.com/2011/01/enumerate-site-collections-subsites-and.html</feedburner:origLink></item></channel></rss>

