<?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>Weird &#38; Wonderful IT</title>
	<atom:link href="http://www.craig-tolley.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.craig-tolley.co.uk</link>
	<description>A look at problems, solutions, and general musings about IT. Mainly focused on systems deployment and Exchange Server</description>
	<lastBuildDate>Fri, 18 May 2012 11:21:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Sharepoint 2010: Unable to Display This Web Part. Error while executing web part: System.StackOverflowException: Operation caused a stack overflow.</title>
		<link>http://www.craig-tolley.co.uk/2012/05/16/sharepoint-2010-unable-to-display-this-web-part-error-while-executing-web-part-system-stackoverflowexception-operation-caused-a-stack-overflow/</link>
		<comments>http://www.craig-tolley.co.uk/2012/05/16/sharepoint-2010-unable-to-display-this-web-part-error-while-executing-web-part-system-stackoverflowexception-operation-caused-a-stack-overflow/#comments</comments>
		<pubDate>Wed, 16 May 2012 13:03:30 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=496</guid>
		<description><![CDATA[I have got a live testing version of a SharePoint 2010 based room &#38; reservations bookings template (which I promise I will one day finish!). Randomly, users were getting an error on their screens though. Unable to display this Web...]]></description>
			<content:encoded><![CDATA[<p>I have got a live testing version of a SharePoint 2010 based room &amp; reservations bookings template (which I promise I will one day finish!).</p>
<p>Randomly, users were getting an error on their screens though.</p>
<address>Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Microsoft SharePoint Foundation-compatible HTML editor such as Microsoft SharePoint Designer. If the problem persists, contact your Web server administrator.<br />
Correlation ID:40dd096d-a486-44ed-8f27-af1d31530213.</address>
<p>The Correlation ID here, when looked up in the log files (c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS\) takes me to a 4 line description which starts:</p>
<address>Error while executing web part: System.StackOverflowException: Operation caused a stack overflow.</address>
<p>It turns out, that since the August 2011 Cumulative Update for SharePoint 2010, there is a timeout put on XSLT Transforms. My page in particular uses these transforms to draw the timeline of what rooms are available when. As far as I know this only affects DataViewWebParts.</p>
<p>In order to overcome this, after installing the February 2012 Cumulative Update for SharePoint 2010 you can configure this timeout period. This can be done by running the following commands at the SharePoint PowerShell prompt.</p>
<pre>$myfarm = Get-SPFarm</pre>
<pre>$myfarm.XSLTTransformTimeout = 5</pre>
<pre>$myfarm.Update()</pre>
<p>The page now appears correctly for everyone!</p>
<p>Note: The brackets at the end of the Update() line are essential. If you don&#8217;t put them in then the changes you make will not save. If you want to check that your change has been saved then enter the following two commands, and your new timeout will be shown.</p>
<pre>$testfarm = Get-SPFarm</pre>
<pre>$testfarm.XSLTTransformTimeout</pre>
<p>If you have particularly complex and involved XSLT then you may need to increase the timeout further. For the application that I was working on, 2 seconds worked for all users except for 1 time. We set it as 5 as a fail safe, as generally people will be happier with it working and waiting an extra second. If you go too high though, then you may be compromising the users experience, and should probably look at optimising your code, or creating a sub-class for the code as per the Microsoft KB: <a href="http://support.microsoft.com/kb/2639184">http://support.microsoft.com/kb/2639184</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2012/05/16/sharepoint-2010-unable-to-display-this-web-part-error-while-executing-web-part-system-stackoverflowexception-operation-caused-a-stack-overflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cannot Save Outlook Attachments when C:\ drive is Hidden</title>
		<link>http://www.craig-tolley.co.uk/2012/04/26/cannot-save-outlook-attachments-when-c-drive-is-hidden/</link>
		<comments>http://www.craig-tolley.co.uk/2012/04/26/cannot-save-outlook-attachments-when-c-drive-is-hidden/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 13:18:47 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[Outlook 2010]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=424</guid>
		<description><![CDATA[We have Outlook 2010, running on Windows 7 (both 64 bit). Our users were complaining that after opening an attachment in outlook, and going to save it, it came up with an error. Which was: &#8216;This operation has been cancelled...]]></description>
			<content:encoded><![CDATA[<p>We have Outlook 2010, running on Windows 7 (both 64 bit). Our users were complaining that after opening an attachment in outlook, and going to save it, it came up with an error. Which was:</p>
<p>&#8216;This operation has been cancelled due to restrictions in effect on this computer. Please contact your system administrator.&#8217;</p>
<p>To replicate the issue:</p>
<ol>
<li>Log on as a user who cannot see the C:\ drive in My Computer</li>
<li>Send the user an email with a Word/Excel attachment</li>
<li>Open the attachment</li>
<li>Go to File &#8211;&gt; Save As</li>
</ol>
<p>The error will then appear.</p>
<p>A workaround to this, which stops the error appearing is to change a registry key. The key below sets where Outlook puts temporary attachments that you open.</p>
<p>HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0\Outlook\Security\OutlookSecureTempFolder</p>
<p>In our case we changed the value of this setting to a folder within their My Documents called Microsoft Outlook Temporary Attachments (so the path became U:\My Documents\Microsoft Outlook Temporary Attachments). Restart Outlook and repeat the above steps and the error should disappear.</p>
<p>Not yet created a script or GPO to do this, but if I do then I will post an update.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2012/04/26/cannot-save-outlook-attachments-when-c-drive-is-hidden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get AD Group Members in Text File</title>
		<link>http://www.craig-tolley.co.uk/2012/04/03/get-ad-group-members-in-text-file/</link>
		<comments>http://www.craig-tolley.co.uk/2012/04/03/get-ad-group-members-in-text-file/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 14:08:45 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[VBScript]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=413</guid>
		<description><![CDATA[Just a quick post &#8211; I needed to dump all the members of all groups in an OU to a text file in a sort-of pretty way. The result? See below. This short script asks the user for an LDAP...]]></description>
			<content:encoded><![CDATA[<p>Just a quick post &#8211; I needed to dump all the members of all groups in an OU to a text file in a sort-of pretty way. The result? See below.</p>
<p>This short script asks the user for an LDAP path to an OU which contains groups. The script then searches that OU for all the groups, and dumps a list of all the users&#8217; samAccountName and DisplayName into a text file, along with a count up of all the group members. For this script I just dumped it all to a file with the default file name of GroupMembers. Possibly a base for adaption this one &#8211; but might help someone.</p>
<pre>'Gets all the members of all the groups in the specified OU.
'Outputs to a text file in the current folder.
'Craig Tolley
'3rd April 2012
'-----------------------------------------------------------</pre>
<pre>Option Explicit</pre>
<pre>'Declare all variables.
Dim objGroup, objMember, objOU, objGrp, strLDAPPath, objFSO, objOutput
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutput = objFSO.OpenTextFile("GroupsOutput.txt",8,True)</pre>
<pre>'Get the LDAP Path to find groups in
strLDAPPath = ""
Do While strLDAPPath = ""
 strLDAPPath = InputBox("Type the path of the OU which contains the groups you want information on. e.g ""<a href="ldap://OU=Groups,OU=Company,DC=domain,DC=local/">LDAP://OU=Groups,OU=Company,DC=domain,DC=local</a>""")
Loop
objOutput.WriteLine("OU to Search: " &amp; strLDAPPath)
objOutput.WriteLine("-----------------------------------------------------------")
objOutput.WriteLine("")</pre>
<pre>'Find the Groups in AD
Set objOU = GetObject(strLDAPPath)
objOU.Filter = Array("group")</pre>
<pre>'Cycle through the groups.
For Each objGroup in objOU
 objOutput.WriteLine("Group Name: '" &amp; objGroup.samAccountName &amp; "'")
 For Each objMember In objGroup.Members
  objOutput.WriteLine(" " &amp; objMember.sAMAccountName &amp; " - " &amp; objMember.DisplayName)
 Next
 objOutput.WriteLine( "Total Group Members: " &amp; objGroup.Members.Count)
 objOutput.WriteLine("-----------------------------------------------------------")
 objOutput.WriteLine("")
Next</pre>
<pre>Msgbox("Completed Output of Groups")</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2012/04/03/get-ad-group-members-in-text-file/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VBA: Create Slide for every Picture in a Folder</title>
		<link>http://www.craig-tolley.co.uk/2011/11/23/vba-create-slide-for-every-picture-in-a-folder/</link>
		<comments>http://www.craig-tolley.co.uk/2011/11/23/vba-create-slide-for-every-picture-in-a-folder/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 08:45:41 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Microsoft Office]]></category>
		<category><![CDATA[PowerPoint 2010]]></category>
		<category><![CDATA[VBA]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=405</guid>
		<description><![CDATA[This short script runs in PowerPoint VBA. It looks in a given folder for any image and creates a new slide for that image. Once the image has been inserted it determines if the image is portrait or landscape and...]]></description>
			<content:encoded><![CDATA[<p>This short script runs in PowerPoint VBA. It looks in a given folder for any image and creates a new slide for that image. Once the image has been inserted it determines if the image is portrait or landscape and then resizes the picture, keeping the proportions, to fit the given slide layout as best it can.  </p>
<pre>Option Explicit</pre>
<pre>Sub CreatePictureSlidesByFolder()</pre>
<pre>    'Define Variables
    Dim PictureFolder As String
    Dim CurrentSlide As Slide
    Dim CurrentFile As String
    Dim CurrentFileFullName As String
    Dim AllowedExtensions() As Variant
   
    'Set the Path to the folder of pictures
    PictureFolder = "\\data\staffdata\ctolley\My Pictures\Sample Pictures"
   
    'Check that the Picture folder path has a trailing \
    If Right(PictureFolder, 1) &lt;&gt; "\" Then PictureFolder = PictureFolder &amp; "\"
   
    'Define the allowed picture extensions
    AllowedExtensions = Array("jpg", "png", "bmp")
   
    'Check that 1 slide exists in the presentation
    If ActivePresentation.Slides.Count = 0 Then
        ActivePresentation.Slides.Add 1, ppLayoutTitle
        ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = PictureFolder
    End If
   
    'Get the files in the folder
    CurrentFile = Dir(PictureFolder)
   
    While CurrentFile &lt;&gt; ""
   
    'Check that the file extension is allowed
    If IsStringInArray(GetFileExtension(CurrentFile), AllowedExtensions) Then
   
        'Make the full file name
        CurrentFileFullName = PictureFolder &amp; CurrentFile
   
        'Add a new slide to the presentation
        Set CurrentSlide = ActivePresentation.Slides.Add(ActivePresentation.Slides.Count + 1, ppLayoutBlank)
       
        'Add the picture to the presentation
        With CurrentSlide.Shapes.AddPicture(CurrentFileFullName, msoFalse, msoTrue, 0, 0)
       
            'Check if the picture is landscape or portrait
           
            If .Width &gt; .Height Then
                'Landscape
                .Width = ActivePresentation.PageSetup.SlideWidth
                .Left = 0
                .Top = (ActivePresentation.PageSetup.SlideHeight - .Height) / 2
           
            Else
                'Portrait
                .Height = ActivePresentation.PageSetup.SlideHeight
                .Left = (ActivePresentation.PageSetup.SlideWidth - .Width) / 2
                .Top = 0
            End If
           
        End With
       
    End If
           
    'Clear the current file
    CurrentFile = Dir
   
    Wend</pre>
<pre>End Sub</pre>
<pre>Public Function GetFileExtension(TheFilePath As String) As String
    'Separates the file extension from the file name and returns it.
    Dim FileParts() As String
    FileParts = Split(TheFilePath, ".")
    GetFileExtension = FileParts(UBound(FileParts))
End Function</pre>
<pre>Public Function IsStringInArray(TheString As String, TheArray() As Variant) As Boolean
    'Determines if the passed string is in the passed array.
    Dim ArrIdx As Integer
    For ArrIdx = LBound(TheArray) To UBound(TheArray)
        If TheString Like TheArray(ArrIdx) Then IsStringInArray = True
    Next ArrIdx
End Function</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2011/11/23/vba-create-slide-for-every-picture-in-a-folder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resizing a Dynamic System Partition on Windows 2003 &#8211; for Free.</title>
		<link>http://www.craig-tolley.co.uk/2011/10/25/resizing-a-dynamic-system-partition-on-windows-2003-for-free/</link>
		<comments>http://www.craig-tolley.co.uk/2011/10/25/resizing-a-dynamic-system-partition-on-windows-2003-for-free/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 13:41:22 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Server 2003]]></category>
		<category><![CDATA[Disk Management]]></category>
		<category><![CDATA[Windows 2003]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=402</guid>
		<description><![CDATA[Ok. I have a server running Windows Small Business Server 2003. Back in the day when it was set up I naively had only a 20gb System volume, on a dynamic disk, mirrored. Unfortunately that ran out of space, so...]]></description>
			<content:encoded><![CDATA[<p>Ok. I have a server running Windows Small Business Server 2003. Back in the day when it was set up I naively had only a 20gb System volume, on a dynamic disk, mirrored. Unfortunately that ran out of space, so I set about extending the partition.</p>
<p>Windows Disk Management and Diskpart in Windows 2003 don&#8217;t allow you to extend the volume with the O/S on it. This limitation meant that I went to a tried, tested and trusted friend in GParted. Unfortunately, GParted also cannot extend volumes on dynamic disks created with the Windows LVM.</p>
<p>After an hour of trying to find a way to do it, I nearly ended up paying for professional tools (which do exist if you want the support and backup). I then remembered that Windows 2008 does allow you to resize the system partition.</p>
<p>This means that the Windows 2008 version of DiskPart can perform this function, and is included in Windows PE 3.</p>
<p>So, grab a copy of the Windows Automated Installation Kit from here: <a title="http://www.microsoft.com/download/en/details.aspx?id=5753" href="http://www.microsoft.com/download/en/details.aspx?id=5753" target="_blank">http://www.microsoft.com/download/en/details.aspx?id=5753</a> create your Windows PE 3.0 CD and boot. Instructions for creating the CD or UFD are here: <a title="http://technet.microsoft.com/en-us/library/cc749311(WS.10).aspx" href="http://technet.microsoft.com/en-us/library/cc749311(WS.10).aspx" target="_blank">http://technet.microsoft.com/en-us/library/cc749311(WS.10).aspx</a></p>
<p>Full instructions for the Windows 2008 version of DiskPart can be found here: <a title="http://technet.microsoft.com/en-us/library/cc770877(WS.10).aspx" href="http://technet.microsoft.com/en-us/library/cc770877(WS.10).aspx" target="_blank">http://technet.microsoft.com/en-us/library/cc770877(WS.10).aspx</a></p>
<p>Remember to always create a backup though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2011/10/25/resizing-a-dynamic-system-partition-on-windows-2003-for-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Protection &#8211; Just Can&#8217;t Get Enough</title>
		<link>http://www.craig-tolley.co.uk/2011/09/09/data-protection-just-cant-get-enough/</link>
		<comments>http://www.craig-tolley.co.uk/2011/09/09/data-protection-just-cant-get-enough/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 11:06:21 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[General Stuff]]></category>
		<category><![CDATA[Data Protection]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=394</guid>
		<description><![CDATA[Ok, not strictly IT here, but important none the less. Data Protection is big, and whilst you personally cannot be prosecuted for breaching the Act, your company can be fined. Just had a check up on the Information Commissioners Office...]]></description>
			<content:encoded><![CDATA[<p>Ok, not strictly IT here, but important none the less.</p>
<p>Data Protection is big, and whilst you personally cannot be prosecuted for breaching the Act, your company can be fined.</p>
<p>Just had a check up on the Information Commissioners Office (ICO) &#8211; and found some new resources.</p>
<p>Th!nk Privacy is a campaign developed between the ICO and Blue Goose. It is a collectionof posters and resources which can be used to reinforce your Data Protection training. Use it on routine security sweeps and compliance should increase.</p>
<p>Combine this with the ICO&#8217;s offering of free resources for organisations which they can use to protect themselves and provide training.</p>
<p>All this provides you with no reason to protect personal information and comply with the Data Protection Act. The weakest link tends to be staff, so use this to reduce that risk.</p>
<p style="text-align: left;">Th!nk Privacy: http://www.ico.gov.uk/news/current_topics/think_privacy.aspx</p>
<p style="text-align: left;">ICO Publications: https://www.ico.gov.uk/tools_and_resources/request_publications.aspx</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2011/09/09/data-protection-just-cant-get-enough/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable &#8216;Automatically detect settings&#8217; in Internet Explorer</title>
		<link>http://www.craig-tolley.co.uk/2011/08/30/disable-automatically-detect-settings-in-internet-explorer/</link>
		<comments>http://www.craig-tolley.co.uk/2011/08/30/disable-automatically-detect-settings-in-internet-explorer/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 12:01:30 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Internet Security]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Proxy]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=391</guid>
		<description><![CDATA[This script allows you to turn off (or on) the &#8216;Automatically Detect Settings&#8217; check box in Internet Explorer. I have not been able to find a way which guarantees that this will not be checked. You can set a Group...]]></description>
			<content:encoded><![CDATA[<p>This script allows you to turn off (or on) the &#8216;Automatically Detect Settings&#8217; check box in Internet Explorer.</p>
<p>I have not been able to find a way which guarantees that this will not be checked. You can set a Group Policy into Internet Explorer Preference Mode, but if a user later changes it, then it will not change back. If you Disable Changing IE Proxy Settings, then the Preference Mode Setting seems not to work.</p>
<p>I have set this script to run at logon, as part of our general login script. It only modifies that one setting, no others. It reads the entire of the binary value, modifies the one binary value that needs changing and then writes back the entire value.</p>
<pre>Option Explicit
On Error Resume Next</pre>
<pre>'Create a constant for the HKEY_CURRENT_USER object
Const HKCU = &amp;H80000001</pre>
<pre>'Define variables
Dim strComputer
Dim strRegistryKey
Dim objRegistry
Dim strRegistryValue
DIm binValue
strComputer = "."
strRegistryKey = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections"
strRegistryValue = "DefaultConnectionSettings"</pre>
<pre>'Connect to the Registry
Set objRegistry = GetObject("winmgmts:\\" &amp; strComputer &amp; "\root\default:StdRegProv")</pre>
<pre>'Retrieve the current settings.
objRegistry.GetBinaryValue HKCU, strRegistryKey, strRegistryValue, binValue</pre>
<pre>'Change the 'Automatically detect settings' box to unticked
binValue(8) = 05
'binValue(8) = 13 - Enable this line to check the box instead of uncheck</pre>
<pre>'Save the changes
objRegistry.SetBinaryValue HKCU, strRegistryKey, strRegistryValue, binValue</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2011/08/30/disable-automatically-detect-settings-in-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows PE 3.0: IRQL_NOT_LESS_OR_EQUAL</title>
		<link>http://www.craig-tolley.co.uk/2011/07/27/windows-pe-3-0-irql_not_less_or_equal/</link>
		<comments>http://www.craig-tolley.co.uk/2011/07/27/windows-pe-3-0-irql_not_less_or_equal/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 13:58:14 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Windows PE]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=388</guid>
		<description><![CDATA[Have been working with Windows PE 3.0 to create an automated bootable USB and CD that boots a machine, partitions the disk, applies an image and copies some files to create a ThinStation thin client. Whenever we booted our target machines,...]]></description>
			<content:encoded><![CDATA[<p>Have been working with Windows PE 3.0 to create an automated bootable USB and CD that boots a machine, partitions the disk, applies an image and copies some files to create a ThinStation thin client.</p>
<p>Whenever we booted our target machines, we got the following error:</p>
<pre>IRQL_NOT_LESS_OR_EQUAL - 0x0000000A</pre>
<p>Windows PE 3.0 has a minimum requirement of 256mb of  <em>useable </em>RAM. The machines that we were using had 256mb of RAM total, and were using Shared Memory for the Graphics card &#8211; reducing the actual available RAM to 224mb, causing the boot to fail.</p>
<p>The limitations of Windows PE are listed through the link below.  This link takes you to the details for Windows PE 2.0, but as far as I can find the limitations and the requirements are the same.</p>
<p><a href="http://technet.microsoft.com/en-us/library/cc507857.aspx">http://technet.microsoft.com/en-us/library/cc507857.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2011/07/27/windows-pe-3-0-irql_not_less_or_equal/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rack Design &amp; Cable Management</title>
		<link>http://www.craig-tolley.co.uk/2011/07/05/rack-design-cable-management/</link>
		<comments>http://www.craig-tolley.co.uk/2011/07/05/rack-design-cable-management/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 08:56:23 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[General Stuff]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Rack Design]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=384</guid>
		<description><![CDATA[A not-too-detailed but quality post highlighting some of the important factors of rack design and layout. http://www.bcs.org/content/conBlogPost/1891?src=ebcsbrunch &#160;]]></description>
			<content:encoded><![CDATA[<p>A not-too-detailed but quality post highlighting some of the important factors of rack design and layout.</p>
<p><a href="http://www.bcs.org/content/conBlogPost/1891?src=ebcsbrunch">http://www.bcs.org/content/conBlogPost/1891?src=ebcsbrunch</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2011/07/05/rack-design-cable-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VBA: Create PowerPoint Slide for Each Row in Excel Workbook</title>
		<link>http://www.craig-tolley.co.uk/2011/06/08/vba-create-powerpoint-slide-for-each-row-in-excel-workbook/</link>
		<comments>http://www.craig-tolley.co.uk/2011/06/08/vba-create-powerpoint-slide-for-each-row-in-excel-workbook/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 15:36:37 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[PowerPoint 2010]]></category>
		<category><![CDATA[VBA]]></category>

		<guid isPermaLink="false">http://www.craig-tolley.co.uk/?p=381</guid>
		<description><![CDATA[This may seem like a really weird thing to want to do. Imagine this though: You want a presentation to show off the names of a lot of students on a constant loop at a kiosk, and you don&#8217;t want...]]></description>
			<content:encoded><![CDATA[<p>This may seem like a really weird thing to want to do. Imagine this though: You want a presentation to show off the names of a lot of students on a constant loop at a kiosk, and you don&#8217;t want to have to retype the names. VBA to the rescue.</p>
<p>This little snippet of code will do the following:</p>
<ol>
<li>Open a given Excel Document</li>
<li>For Each used row in column A of sheet 1, create a copy the first slide in the presentation.</li>
<li>Change the text of the first text box to the content of that cell</li>
</ol>
<p>Easy. Here it is:</p>
<pre>Sub CreateSlides()</pre>
<pre>'Open the Excel workbook. Change the filename here.
Dim OWB As New Excel.Workbook
Set OWB = Excel.Application.Workbooks.Open("C:\list.xlsx")</pre>
<pre>'Grab the first Worksheet in the Workbook
Dim WS As Excel.Worksheet
Set WS = OWB.Worksheets(1)</pre>
<pre>'Loop through each used row in Column A
For i = 1 To WS.Range("A65536").End(xlUp).Row
    'Copy the first slide and paste at the end of the presentation
    ActivePresentation.Slides(1).Copy
    ActivePresentation.Slides.Paste (ActivePresentation.Slides.Count + 1)
   
    'Change the text of the first text box on the slide.
    ActivePresentation.Slides(ActivePresentation.Slides.Count).Shapes(1).TextFrame.TextRange.Text = WS.Cells(i, 1).Value
Next</pre>
<pre>End Sub</pre>
<p>Paste this into a new module inside your PowerPoint presentation. You will need to add in a reference to Microsoft Excel Objects (Tools -&gt; References). Change the name and location of the Excel file that you want to use.</p>
<p>If you set up the first slide exactly as you want it before running the macro, then the same formats and layout will be copied too. Alternatively use Slide Masters to set up all the slides after they have been created.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.craig-tolley.co.uk/2011/06/08/vba-create-powerpoint-slide-for-each-row-in-excel-workbook/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

