<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tom Van Gaever</title>
	<atom:link href="http://tomvangaever.be/blogv2/feed/" rel="self" type="application/rss+xml" />
	<link>http://tomvangaever.be/blogv2</link>
	<description>Premier Field Engineer at Microsoft</description>
	<lastBuildDate>Wed, 24 Apr 2013 19:48:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Spotify on windows surface RT</title>
		<link>http://tomvangaever.be/blogv2/2013/04/spotify-on-windows-surface-rt/</link>
		<comments>http://tomvangaever.be/blogv2/2013/04/spotify-on-windows-surface-rt/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 19:48:59 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1225</guid>
		<description><![CDATA[https://play.spotify.com allows you to run spotify in your browser, meaning you can run the application on the Surface RT even if the spotify app is not available (yet?) If you do not have the required cookie on your machine to &#8230; <a href="http://tomvangaever.be/blogv2/2013/04/spotify-on-windows-surface-rt/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>https://play.spotify.com allows you to run spotify in your browser, meaning you can run the application on the Surface RT even if the spotify app is not available (yet?)</p>
<p>If you do not have the required cookie on your machine to participate in this beta, you are redirected to spotify.com.<br />
The key here is to get the cookie or open the following site: http://www.spotifyweb.tk/</p>
<p>This evening I noticed that IE became not supported, it is possible to change the user agent string so that you are able to run spotify in your browser on the Surface RT.</p>
<p>Select the gear icon in the upper-right corner, select F12 developer tools > tools > Change user agent string to Chrome&#8230;</p>
<p> <img src='http://tomvangaever.be/blogv2/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Hope it helps!</p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2013/04/spotify-on-windows-surface-rt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Count files by extension in a given directory by PowerShell</title>
		<link>http://tomvangaever.be/blogv2/2013/04/count-files-by-extension-in-a-given-directory-by-powershell/</link>
		<comments>http://tomvangaever.be/blogv2/2013/04/count-files-by-extension-in-a-given-directory-by-powershell/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 11:14:24 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1214</guid>
		<description><![CDATA[Very often I just want to know how many files with a specific extension are available in a SharePoint project.The following blogpost supported this goal. .\Get-FileCountByFilter.ps1 -StartDirectory c:\source\projects\ #> [CmdletBinding()] param ( [Parameter(position=0, Mandatory=$true, ValueFromPipeline=$false, HelpMessage="Provide directory where all the &#8230; <a href="http://tomvangaever.be/blogv2/2013/04/count-files-by-extension-in-a-given-directory-by-powershell/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Very often I just want to know how many files with a specific extension are available in a SharePoint project.The following <a href="http://techibee.com/powershell/count-files-by-extension-using-powershell/514">blogpost</a> supported this goal.</p>
<pre name="code" class="c#">
<#
.SYNOPSIS 
Retrieves the amount of file based on a specific filter.

.DESCRIPTION
The Get-FileCountByFilter.ps1 script crawls a given directory and uses a user definied filter to count the files.

.PARAMETER Path
Specifies the path to the root directory to start searching and counting.

.PARAMETER Filter
Specifies the filter that is used to count only the files that apply to this filter.

.INPUTS
None. You cannot pipe objects to Get-FileCountByFilter.ps1.

.OUTPUTS
Sytem.Int32. Get-FileCountByFilter returns the number of results found.

.EXAMPLE
C:\PS> .\Get-FileCountByFilter.ps1 -StartDirectory c:\source\projects\
#>

[CmdletBinding()]
param (
	[Parameter(position=0, Mandatory=$true, ValueFromPipeline=$false, HelpMessage="Provide directory where all the result files are located.")]
	[string]$StartDirectory
	)
	
Get-ChildItem $StartDirectory -Recurse | ? {-not $_.PSIsContainer} | group Extension -NoElement | sort count -desc
</pre>
<p><a href="http://tomvangaever.be/blogv2/wp-content/uploads/2013/04/Get-FileCountByFilter.png"><img src="http://tomvangaever.be/blogv2/wp-content/uploads/2013/04/Get-FileCountByFilter.png" alt="Get-FileCountByFilter" width="988" height="632" class="alignnone size-full wp-image-1220" /></a></p>
<p><a href="http://tomvangaever.be/blogv2/2013/04/count-files-by-extension-in-a-given-directory-by-powershell/get-filecountbyfilter/" rel="attachment wp-att-1215">Get-FileCountByFilter.ps1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2013/04/count-files-by-extension-in-a-given-directory-by-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E-Book Gallery for Microsoft Technologies</title>
		<link>http://tomvangaever.be/blogv2/2013/04/e-book-gallery-for-microsoft-technologies/</link>
		<comments>http://tomvangaever.be/blogv2/2013/04/e-book-gallery-for-microsoft-technologies/#comments</comments>
		<pubDate>Mon, 08 Apr 2013 06:52:00 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1204</guid>
		<description><![CDATA[Download content for ASP.NET, Office, SQL Server, Windows Azure, SharePoint Server and other Microsoft technologies in e-book formats. Reference, guide, and step-by-step information are all available. All the e-books are free. New books will be posted as they become available. &#8230; <a href="http://tomvangaever.be/blogv2/2013/04/e-book-gallery-for-microsoft-technologies/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Download content for ASP.NET, Office, SQL Server, Windows Azure, SharePoint Server and other Microsoft technologies in e-book formats. Reference, guide, and step-by-step information are all available. All the e-books are free. New books will be posted as they become available.</p>
<table width="100%" rules="all">
<tbody>
<tr>
<td>To view white papers for Microsoft technologies, click <a href="http://social.technet.microsoft.com/wiki/contents/articles/13145.white-paper-gallery-for-microsoft-technologies.aspx">here</a>.<br />
To view community and partner content for Microsoft technologies, click <a href="http://social.technet.microsoft.com/wiki/contents/articles/13147.community-and-partner-content-gallery-for-microsoft-technologies.aspx">here</a>.<br />
To learn more about how to install and read e-book content on your device, click <a href="http://social.technet.microsoft.com/wiki/contents/articles/11609.how-to-install-and-read-e-book-content-on-your-device.aspx">here</a>.<br />
To learn about new free e-books for Microsoft technologies, follow us on Twitter <a href="https://twitter.com/MSFreeEBooks" target="_blank">here </a>.<br />
To learn about new white papers for Microsoft technologies, follow us on Twitter <a href="https://twitter.com/MSWhitePapers" target="_blank">here </a>.<br />
To provide feedback on the page or to suggest new content, click <a href="mailto:msfreeebooks@microsoft.com">here</a>.</td>
</tr>
</tbody>
</table>
<p><a href="http://tomvangaever.be/blogv2/wp-content/uploads/2013/04/freebooks.png"><img class="alignnone size-large wp-image-1205" title="freebooks" src="http://tomvangaever.be/blogv2/wp-content/uploads/2013/04/freebooks-1024x843.png" alt="" width="584" height="480" /></a></p>
<p><a title="http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx" href="http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx?WT.mc_id=CIC_TWITTER_Azure%20Blogs_20130402_20130402054742_37166_WindowsAzure" target="_blank">http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2013/04/e-book-gallery-for-microsoft-technologies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get Distributed Cache size (SharePoint 2013)</title>
		<link>http://tomvangaever.be/blogv2/2013/04/how-to-get-distributed-cache-size-sharepoint-2013/</link>
		<comments>http://tomvangaever.be/blogv2/2013/04/how-to-get-distributed-cache-size-sharepoint-2013/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 15:59:55 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint2013; Cache]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1190</guid>
		<description><![CDATA[To check the existing memory allocation for the Distributed Cache service on a server, run the following command at the Windows PowerShell (run as administrator) command prompt: Use-CacheCluster Get-AFCacheHostConfiguration -ComputerName YourServerName -CachePort "22233" Use-CacheCluster After starting a PowerShell session on &#8230; <a href="http://tomvangaever.be/blogv2/2013/04/how-to-get-distributed-cache-size-sharepoint-2013/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>To check the existing memory allocation for the Distributed Cache service on a server, run the following command at the Windows PowerShell (run as administrator) command prompt:</p>
<pre name="code" class="c#">
Use-CacheCluster
Get-AFCacheHostConfiguration -ComputerName YourServerName -CachePort "22233"
</pre>
<p><a href="http://tomvangaever.be/blogv2/wp-content/uploads/2013/04/distributedcachesize.png"><img class="alignnone size-full wp-image-1191" title="distributedcachesize" src="http://tomvangaever.be/blogv2/wp-content/uploads/2013/04/distributedcachesize.png" alt="" width="997" height="643" /></a></p>
<p><strong>Use-CacheCluster</strong><br />
After starting a PowerShell session on a cache host, run this command without any parameters to use the connection settings that reside on the current machine. If you need to connect to a different cache cluster, use the Provider and ConnectionString parameters to specify the cache cluster explicitly.<br />
<a href="http://msdn.microsoft.com/en-us/library/ff428183(v=azure.10).aspx">http://msdn.microsoft.com/en-us/library/ff428183(v=azure.10).aspx</a></p>
<p><strong>Get-AFCacheHostConfiguration</strong><br />
Cache port number of the cache host. The default cache port is 22233.<br />
The output type is the type of the objects that the cmdlet emits.<br />
<a href="http://msdn.microsoft.com/en-us/library/hh848875(v=azure.10).aspx">http://msdn.microsoft.com/en-us/library/hh848875(v=azure.10).aspx</a></p>
<p><strong>Cache Port</strong><br />
The cache port is used for transmitting data between the cache hosts and your cache-enabled application. The default is 22233.<br />
<strong>Cluster Port</strong><br />
The cache hosts use the cluster port to communicate availability to each of their neighbors in the cluster. The default is 22234.<br />
<strong>Arbitration Port</strong><br />
If a cache host fails, the arbitration port is used to make certain that the cache host is unavailable. The default is 22235.<br />
<strong>Replication Port</strong><br />
The replication port is used to move data between hosts in the cache cluster. This supports features such as high availability and load balancing. The default is 22236.<br />
<strong>HWM: The high watermark percentage of memory</strong><br />
When eviction should begin evicting objects that have not yet expired.<br />
In other words: Removing objects from the cache that are not yet expired.<br />
<strong>LWM: The low watermark percentage of memory</strong><br />
When eviction should begin evicting expired objects.<br />
After reaching HWM, when eviction should stop evicting objects that have not yet expired.<br />
In other words: Removing objects from the cache that are marked as expired and stop removing objects that are not marked as expired.<br />
<strong>IsLeadHost</strong><br />
Not used in SharePoint</p>
<p>The purpose of this blogpost was to give you a quick answer on the question:<br />
&#8216;What is the Distributed Cache size on a specific server?&#8217;</p>
<p>For more information, please read this very detailed blogpost from Josh Gavant:<br />
<a href="http://blogs.msdn.com/b/besidethepoint/archive/2013/03/27/appfabric-caching-and-sharepoint-2.aspx">http://blogs.msdn.com/b/besidethepoint/archive/2013/03/27/appfabric-caching-and-sharepoint-2.aspx</a></p>
<p>Source:<br />
<a href="http://technet.microsoft.com/en-us/library/jj219613.aspx">http://technet.microsoft.com/en-us/library/jj219613.aspx</a><br />
<a href="http://msdn.microsoft.com/en-us/library/ee790914(v=azure.10).aspx">http://msdn.microsoft.com/en-us/library/ee790914(v=azure.10).aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2013/04/how-to-get-distributed-cache-size-sharepoint-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010 &#8211; Import solution Package Exception: SharePoint Not Installed</title>
		<link>http://tomvangaever.be/blogv2/2013/03/sharepoint-2010-import-solution-package-exception-sharepoint-not-installed/</link>
		<comments>http://tomvangaever.be/blogv2/2013/03/sharepoint-2010-import-solution-package-exception-sharepoint-not-installed/#comments</comments>
		<pubDate>Wed, 20 Mar 2013 18:39:02 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1177</guid>
		<description><![CDATA[UPDATE 27/03/2013: If you simply want to upgrade your solution to SP2013, just dubbel click on the sln file on a dev server where SP2013 is installed. UPDATE 21/03/2013: If you run this command you are able to start SharePoint &#8230; <a href="http://tomvangaever.be/blogv2/2013/03/sharepoint-2010-import-solution-package-exception-sharepoint-not-installed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong style="color:red;">UPDATE 27/03/2013: If you simply want to upgrade your solution to SP2013, just dubbel click on the sln file on a dev server where SP2013 is installed. <img src='http://tomvangaever.be/blogv2/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>
<p><strong style="color:red;">UPDATE 21/03/2013: If you run this command you are able to start SharePoint 2010 solutions in Visual Studio 2012, as a side effect we are no longer allowed to create SharePoint 2013 solutions based on the templates.<br />
Removing the added keys allows you to create SharePoint 2013 solutions, but than disables the SharePoint 2010 solution templates. Seems like we cannot have both&#8230;</strong></p>
<p>If you want to import an existing SharePoint 2010 solution in Visual Studio 2012 you might encounter the following exception message&#8230;<a href="http://tomvangaever.be/blogv2/wp-content/uploads/2013/03/sharepoint_not_installed.png"><img class="alignnone size-full wp-image-1178" title="sharepoint_not_installed" src="http://tomvangaever.be/blogv2/wp-content/uploads/2013/03/sharepoint_not_installed.png" alt="" width="605" height="418" /></a></p>
<p>This is due the fact that Visual Studio 2012 checks the &#8220;HKLM:\Software\Microsoft\Shared Tools\web server extensions\14.0\&#8221; registry if it contains the string value named &#8220;Location&#8221; before it allows you to continue.</p>
<p>If you run the following command inside your PowerShell window, the value will be set correctly.</p>
<pre name="code" class="c#">
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Shared Tools\web server extensions\14.0\" -Name "Location" -Value "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\"
</pre>
<p>This location exists on my SharePoint 2013 development environment.<br />
If you changed the location of the rootfolder during installation, please use the correct location here.</p>
<p>After you closed Visual Studio and restarted the application you should be able to continue.</p>
<p><a href="http://tomvangaever.be/blogv2/wp-content/uploads/2013/03/sharepoint_not_installed_ressolved.png"><img src="http://tomvangaever.be/blogv2/wp-content/uploads/2013/03/sharepoint_not_installed_ressolved.png" alt="" title="sharepoint_not_installed_ressolved" width="697" height="508" class="alignnone size-full wp-image-1179" /></a></p>
<p>Hope it helps!</p>
<p>Tom</p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2013/03/sharepoint-2010-import-solution-package-exception-sharepoint-not-installed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell Script to list all lists and libraries with unique permissions</title>
		<link>http://tomvangaever.be/blogv2/2013/03/powershell-script-to-list-all-lists-and-libraries-with-unique-permissions/</link>
		<comments>http://tomvangaever.be/blogv2/2013/03/powershell-script-to-list-all-lists-and-libraries-with-unique-permissions/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 11:29:24 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint;PowerShell]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1122</guid>
		<description><![CDATA[In order to know if your environment contains lists that are close the 64K ACL limit. The following script might report the possible lists: Note: List items with unique permissions is sheduled and will be integrated in this script. cls &#8230; <a href="http://tomvangaever.be/blogv2/2013/03/powershell-script-to-list-all-lists-and-libraries-with-unique-permissions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In order to know if your environment contains lists that are close <a href="http://blogs.msdn.com/b/arvind7in/archive/2010/05/26/what-is-64k-acl-limit.aspx">the 64K ACL limit</a>.<br />
The following script might report the possible lists:<a href="http://tomvangaever.be/blogv2/wp-content/uploads/2013/03/PS_listswithuniquepermissionsinsitecollection1.png"><img class="alignnone size-full wp-image-1124" title="PS_listswithuniquepermissionsinsitecollection" src="http://tomvangaever.be/blogv2/wp-content/uploads/2013/03/PS_listswithuniquepermissionsinsitecollection1.png" alt="" width="668" height="559" /></a></p>
<p/>
<p>Note: List items with unique permissions is sheduled and will be integrated in this script.</p>
<p/>
<pre name="code" class="c#">cls
Write-Host "********************************************************************"
Write-Host "| This script will check if there are list with unique permissions |"
Write-Host "********************************************************************"
Write-Host
Write-Host "Loading Microsoft.SharePoint.PowerShell..." -ForegroundColor Yellow
Write-Host

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue

$siteURL = Read-Host "Please provide url of the SiteCollection"
$loglocation = Read-Host "Please provide path for the log file (hit ENTER to not store output)"
$site = Get-SPSite($siteURL)

Write-Host
if($loglocation -ne ""){
	start-transcript -path $loglocation
	Write-Host
}

Write-Host "--------------------------------------------------------------"

$counter = 0
Write-Host "The following lists and libraries have unique permissions `r`n (results marked in Red might have an 64K ACL impact):" -ForegroundColor Yellow
Write-Host

foreach($web in $site.AllWebs) {
	foreach($list in $web.Lists) {
		if($list.HasUniqueRoleAssignments -eq $true)
		{
			$counter = $counter + 1
			if($list.ItemCount &gt; 1500){
				Write-Host $list.DefaultViewUrl "- ItemsCount:" $list.ItemCount -ForegroundColor Red "`r`n"
			}else{
				Write-Host $list.DefaultViewUrl "- ItemsCount:" $list.ItemCount "`r`n"
			}
		}else{
			#Write-Host $list.DefaultViewUrl -ForegroundColor Green	 "`r`n"	
		}
	}
}
Write-Host "--------------------------------------------------------------"

if($counter -lt 0){
	Write-Host $siteURL "has no lists or libraries with unique permissions!" -ForegroundColor Green
}else{
	Write-Host $siteURL "has $counter lists or libraries with unique permissions!"
}
Write-Host "--------------------------------------------------------------"

if($loglocation -ne ""){
	Stop-Transcript
}
Write-Host</pre>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2013/03/powershell-script-to-list-all-lists-and-libraries-with-unique-permissions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CAML Designer for SharePoint 2013 is released and available to download!</title>
		<link>http://tomvangaever.be/blogv2/2013/01/caml-designer-for-sharepoint-2013-is-released-and-available-to-download/</link>
		<comments>http://tomvangaever.be/blogv2/2013/01/caml-designer-for-sharepoint-2013-is-released-and-available-to-download/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 14:32:20 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1095</guid>
		<description><![CDATA[Give it a look and try it out&#8230;It will make your life so much easier Detailed guide: http://www.camldesigner.com/2013/01/07/camldesigner-2013/ Available in the download section on the BIWUG site: http://www.biwug.be/ KUDOS to Karine Bosch &#38; Andy Van Steenbergen!]]></description>
				<content:encoded><![CDATA[<p>Give it a look and try it out&#8230;It will make your life so much easier <img src='http://tomvangaever.be/blogv2/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img class="alignnone" src="http://karinebosch.files.wordpress.com/2012/12/cd2013.png?w=1229&amp;h=866" alt="" width="1054" height="743" /></p>
<p>Detailed guide:<br />
<a href="http://www.camldesigner.com/2013/01/07/camldesigner-2013/">http://www.camldesigner.com/2013/01/07/camldesigner-2013/</a></p>
<p>Available in the download section on the BIWUG site:<br />
<a href="http://www.biwug.be/">http://www.biwug.be/</a></p>
<p>KUDOS to Karine Bosch &amp; Andy Van Steenbergen!</p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2013/01/caml-designer-for-sharepoint-2013-is-released-and-available-to-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An aggregate view of all SPDisposeCheck results as one single CSV file (PowerShell)</title>
		<link>http://tomvangaever.be/blogv2/2012/12/an-aggregate-view-of-all-spdisposecheck-results-files-as-csv-file-via-powershell/</link>
		<comments>http://tomvangaever.be/blogv2/2012/12/an-aggregate-view-of-all-spdisposecheck-results-files-as-csv-file-via-powershell/#comments</comments>
		<pubDate>Tue, 11 Dec 2012 12:18:21 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1089</guid>
		<description><![CDATA[After you used the Run SPDisposeCheck on all assemblies in a specific directory with PowerShell script to validate all the assemblies in those packages. A report is created for each assembly found. In order to visualize the results and communicate them towards &#8230; <a href="http://tomvangaever.be/blogv2/2012/12/an-aggregate-view-of-all-spdisposecheck-results-files-as-csv-file-via-powershell/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>After you used the <a title="Permalink to Run SPDisposeCheck on all assemblies in a specific directory with PowerShell" href="http://tomvangaever.be/blogv2/2012/06/run-spdisposecheck-on-all-assemblies-in-a-specific-directory-with-powershell/" rel="bookmark">Run SPDisposeCheck on all assemblies in a specific directory with PowerShell</a> script to validate all the assemblies in those packages<em>. </em>A report is created for each assembly found.</p>
<p>In order to visualize the results and communicate them towards the SharePoint team, you could use the following script that will open each SPDispose log file and combine them into 1 CSV file.</p>
<p>You can use Excel to open this csv file and create the pivot tables and diagrams you need in there.</p>
<pre name="code" class="c#">
cls
Write-Host "********************************************************************************************************************"
Write-Host "| This script will collect all the SPDisposeCheck result files and create one csv file with them for reporting	   |"
Write-Host "********************************************************************************************************************"
Write-Host

cls
$wspdir = Read-Host "Provide directory where all the result files are located"

#Retrieve the wsp files in this folder
$fileEntries = [IO.Directory]::GetFiles($wspdir,"*.txt");

$counter = 0;
$coll = @();

foreach($fileName in $fileEntries) 
{ 
	$content = Get-Content $fileName;
	$obj = new-object PSObject
	
	foreach($line in $content){
		#check if this line starts with ID: SPDisposeCheckID_
		if($line.StartsWith("ID: SPDisposeCheckID_")){
			$ID = $line.Replace("ID: SPDisposeCheckID_","");
			
			if($ID -eq 140){
				continue #false positive
			}
			
			$obj = new-object PSObject
			$obj | add-member -membertype NoteProperty  -name "Path" -value $fileName
			$obj | add-member -membertype NoteProperty  -name "SPDisposeCheckID" -value $ID -Force

			$counter = 0;
			$coll += $obj;
		}
		
		#Method information
		if($counter -eq 2){
			$line = $line.Remove(0,8) #remove Method: from string
			$obj | add-member -membertype NoteProperty  -name "Method" -value $line -Force
		}
		
		#Statement information
		if($counter -eq 3){
			$line = $line.Remove(0,11) #remove Statement: from string
			$obj | add-member -membertype NoteProperty  -name "Statement" -value $line -Force
		}
		
		#Notes information
		if($counter -eq 4){
			$line = $line.Remove(0,7) #remove Notes: from string
			$obj | add-member -membertype NoteProperty  -name "Notes" -value $line -Force
		}
		
		#More information
		if($counter -eq 4){
			$line = $line.Remove(0,18) #remove More information: from string
			$obj | add-member -membertype NoteProperty  -name "More information" -value $line -Force
		}
		
		$counter++
	}
	
	$coll | export-csv -Delimiter ';' "$wspdir\spdisposecheckrapport.csv" -notypeinformation
} 
</pre>
<p>The csv file named spdisposecheckrapport.csv will be stored in the same location as the result files are located.</p>
<p>Hope it helps!</p>
<p>/T</p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2012/12/an-aggregate-view-of-all-spdisposecheck-results-files-as-csv-file-via-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unpack WSP packages in a given directory by PowerShell</title>
		<link>http://tomvangaever.be/blogv2/2012/12/unpack-wsp-packages-in-a-given-directory-by-powershell/</link>
		<comments>http://tomvangaever.be/blogv2/2012/12/unpack-wsp-packages-in-a-given-directory-by-powershell/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 14:43:10 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1075</guid>
		<description><![CDATA[How awesome would it be, If you could: Copy paste all the WSP&#8217;s that are installed in your farm into one directory Run a PowerShell script to unpack the content: http://tomvangaever.be/blogv2/2012/12/unpack-wsp-packages-in-a-given-directory-by-powershell/ Have all the assemblies that are inside the WSP &#8230; <a href="http://tomvangaever.be/blogv2/2012/12/unpack-wsp-packages-in-a-given-directory-by-powershell/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>How awesome would it be, If you could:</p>
<ol>
<li>Copy paste all the WSP&#8217;s that are installed in your farm into one directory</li>
<li>Run a PowerShell script to unpack the content:<br />
<a href="http://tomvangaever.be/blogv2/2012/12/unpack-wsp-packages-in-a-given-directory-by-powershell/">http://tomvangaever.be/blogv2/2012/12/unpack-wsp-packages-in-a-given-directory-by-powershell/</a></li>
<li>Have all the assemblies that are inside the WSP packages checked by SPDisposeCheck:<br />
<a href="http://tomvangaever.be/blogv2/2012/06/run-spdisposecheck-on-all-assemblies-in-a-specific-directory-with-powershell/">http://tomvangaever.be/blogv2/2012/06/run-spdisposecheck-on-all-assemblies-in-a-specific-directory-with-powershell/</a></li>
<li>Create one report by using this script to aggregate all results:<a href="http://tomvangaever.be/blogv2/2012/12/an-aggregate-view-of-all-spdisposecheck-results-files-as-csv-file-via-powershell/">http://tomvangaever.be/blogv2/2012/12/an-aggregate-view-of-all-spdisposecheck-results-files-as-csv-file-via-powershell/</a></li>
</ol>
<p style="color: red;">In order to extract the content of the WSP files by PowerShell, we need to use a built-in tool <a href="http://support.microsoft.com/kb/132913">(extrac32.exe)</a> that is available in your system32 directory.</p>
<p>The following script will un-pack all the WSP packages into their own directory.</p>
<pre name="code" class="c#">cls
Write-Host "**************************************************************************************************"
Write-Host "| This script will unpack the WSP packages that it finds in a provided directory |"
Write-Host "**************************************************************************************************"
Write-Host

cls
$wspdir = Read-Host "Provide directory where all the wsp's are located"
$exportdir = "C:\Chorale\Audit-CRSE\Export-$((get-date).toString('yyyyMMdd-hhmmss'))\"

#Retrieve the wsp files in this folder and subfolders
$s = [system.IO.SearchOption]::AllDirectories
$fileEntries = [IO.Directory]::GetFiles($wspdir,"*.wsp",$s); 
foreach($fullFileName in $fileEntries) 
{ 
	$fileName = $(Get-Item $fullFileName).Name;
 	$dirName =  $fileName.Replace(".wsp","");
	$path = $exportdir + $dirName;
 	$dir = [IO.Directory]::CreateDirectory($path) 

	#uncab
	Write-Host "Export $fileName started" -ForegroundColor Yellow
	$destination = $path
	C:\Windows\System32\extrac32.exe $fullFileName /e /Y /L $destination
}</pre>
<p>Once this operation is done you can use the following script to validate the assemblies: <a title="http://tomvangaever.be/blogv2/2012/06/run-spdisposecheck-on-all-assemblies-in-a-specific-directory-with-powershell/" href="http://tomvangaever.be/blogv2/2012/06/run-spdisposecheck-on-all-assemblies-in-a-specific-directory-with-powershell/">http://tomvangaever.be/blogv2/2012/06/run-spdisposecheck-on-all-assemblies-in-a-specific-directory-with-powershell/</a><br />
Hope it helps!</p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2012/12/unpack-wsp-packages-in-a-given-directory-by-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>_spPageContextInfo</title>
		<link>http://tomvangaever.be/blogv2/2012/10/_sppagecontextinfo-sharepoint-2013-technical-preview/</link>
		<comments>http://tomvangaever.be/blogv2/2012/10/_sppagecontextinfo-sharepoint-2013-technical-preview/#comments</comments>
		<pubDate>Tue, 02 Oct 2012 14:20:23 +0000</pubDate>
		<dc:creator>Tom Van Gaever</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[sharepoint 2013]]></category>

		<guid isPermaLink="false">http://tomvangaever.be/blogv2/?p=1053</guid>
		<description><![CDATA[This post gives you a brief overview of the spPageContextInfo object properties and how it can help you while developing SharePoint 2013 apps. Please keep in mind that this is based on the Technical Preview&#8230; If you create your own &#8230; <a href="http://tomvangaever.be/blogv2/2012/10/_sppagecontextinfo-sharepoint-2013-technical-preview/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This post gives you a brief overview of the spPageContextInfo object properties and how it can help you while developing SharePoint 2013 apps.</p>
<p><em><strong>Please keep in mind that this is based on the Technical Preview&#8230;</strong></em></p>
<p>If you create your own app in SharePoint 2013, you can make use of the <strong>_</strong>spPageContextInfo object that is provided when your app is loaded.</p>
<p>for example:</p>
<pre name="code" class="c#">
//Get the relative URL for the current SPWeb
var urlWeb = _spPageContextInfo.webServerRelativeUrl;
</pre>
<p>The following screenshot show you the properties and their values for the spPageContextInfo object in my app:</p>
<p><a href="http://tomvangaever.be/blogv2/wp-content/uploads/2012/10/spPageContextInfo1.png"><img class="alignnone size-large wp-image-1056" title="_spPageContextInfo" src="http://tomvangaever.be/blogv2/wp-content/uploads/2012/10/spPageContextInfo1-1024x651.png" alt="" width="550" height="349" /></a></p>
<p>hope it helps!</p>
<p>&nbsp;</p>
<p>PS: The object already existed in SharePoint 2010:<br />
<a href="http://blog.tedpattison.net/Lists/Posts/Post.aspx?ID=9">http://blog.tedpattison.net/Lists/Posts/Post.aspx?ID=9</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tomvangaever.be/blogv2/2012/10/_sppagecontextinfo-sharepoint-2013-technical-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
