<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>blog.powershell.no &#187; Windows Server 2008 R2</title>
	<atom:link href="http://blog.powershell.no/category/windows-server-2008-r2/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.powershell.no</link>
	<description>On Windows PowerShell and other admin-related topics</description>
	<lastBuildDate>Mon, 26 Jul 2010 13:44:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.powershell.no' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/e22e511529c14fbc92cde5589d6231b4?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>blog.powershell.no &#187; Windows Server 2008 R2</title>
		<link>http://blog.powershell.no</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.powershell.no/osd.xml" title="blog.powershell.no" />
	<atom:link rel='hub' href='http://blog.powershell.no/?pushpress=hub'/>
		<item>
		<title>Manage RDS RemoteApp with Windows PowerShell</title>
		<link>http://blog.powershell.no/2010/06/30/manage-rds-remoteapp-with-windows-powershell/</link>
		<comments>http://blog.powershell.no/2010/06/30/manage-rds-remoteapp-with-windows-powershell/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 21:01:21 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Remote Desktop Services]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Terminal Services]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[rds powershell provider]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2010/06/30/manage-rds-remoteapp-with-windows-powershell/</guid>
		<description><![CDATA[In Windows Server 2008 R2, Remote Desktop Services (formerly Terminal Services) includes a provider for managing RDS using Windows PowerShell. You may find more information along with some examples in this article on Microsoft TechNet. One of the many things you can manage this way is the new RemoteApp-feature introduced with Windows Server 2008. In [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=535&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>In Windows Server 2008 R2, Remote Desktop Services (formerly Terminal Services) includes a provider for managing RDS using Windows PowerShell. You may find more information along with some examples in <a href="http://technet.microsoft.com/en-us/library/ee791871(WS.10).aspx" target="_blank">this article</a> on Microsoft TechNet.</p>
<p>One of the many things you can manage this way is the new RemoteApp-feature introduced with Windows Server 2008. In Windows Server 2008 R2, this feature got enhanced by the addition of <a href="http://blogs.msdn.com/b/rds/archive/2009/06/12/introducing-remoteapp-user-assignment.aspx" target="_blank">User Assignment</a> and <a href="http://blogs.msdn.com/b/rds/archive/2009/08/11/introducing-web-single-sign-on-for-remoteapp-and-desktop-connections.aspx" target="_blank">Web Single Sign-On</a> capabilities. These new features makes it possible for more and more customers to consider RDS without additional products like Citrix. One benefit using Citrix are more flexible application-management, since an published application may be available from a new farm member without adding each application manually.</p>
<p>Let`s look at a given example: You got a farm with 16 RDS-servers, and you`re leveraging the RemoteApp-feature. For each server in the farm, you must manually set up all applications in RemoteApp-manager after they`re installed. Although there is an export/import-feature in the GUI, many customers require no manual interaction in the server provisioning process. By the addition of the new PowerShell-provider for RDS, this is now possible in RemoteApp using scripting as part of either server provisioning or Group Policy.</p>
<p>For the average Windows sysadmin, I imagine that managing RemoteApp using the RDS PowerShell provider might be a bit tedious. To make this a little easier I`ve created a Windows PowerShell module for working with RDS RemoteApp, available from <a href="http://code.msdn.microsoft.com/PSRDSRemoteApp" target="_blank">here</a>.</p>
<p>This module contains the following functions:</p>
<ul>
<li><strong>Get-RDSRemoteApp</strong></li>
<li><strong>Export-RDSRemoteApps</strong></li>
<li><strong>Import-RDSRemoteApps</strong></li>
<li><strong>New-RDSRemoteApp</strong></li>
<li><strong>Remove-RDSRemoteApp</strong></li>
</ul>
<p>The functions let you administer the same application attributes as the graphical RemoteApp Manager:</p>
<ul>
<li>Displayname</li>
<li>Alias</li>
<li>Command-line arguments</li>
<li>RD Web Access availability</li>
<li>User Assignment</li>
</ul>
<p> </p>
<p><strong><span style="font-size:x-small;">Installing the RDSRemoteApp module</span></strong></p>
<p><a href="http://code.msdn.microsoft.com/PSRDSRemoteApp" target="_blank">Download</a> and unzip RDSRemoteApp.zip in the following location: %userprofile%\Documents\WindowsPowerShell\Modules\RDSRemoteApp</p>
<p>Alternatively you may save the module in any of the folders in the $Env:PSMODULEPATH variable.</p>
<p><strong><span style="font-size:x-small;">Using the RDSRemoteApp module</span></strong></p>
<p>First we`ll have a look at the RemoteApp Manager application-list in the lab-environment:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image8.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb8.png?w=468&#038;h=167" border="0" alt="image" width="468" height="167" /></a></p>
<p>Start Windows PowerShell on the RDS-server and import the module (you will need to run PowerShell with Administrative privileges):</p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image9.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb9.png?w=244&#038;h=47" border="0" alt="image" width="244" height="47" /></a></p>
<p>Since I`ve leveraged the built-in help capabilities in Windows PowerShell v2 Advanced Functions, I`ll show the usage of the functions with a few screenshots from the help:</p>
<p><strong>Get-RDSRemoteApp</strong></p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image10.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb10.png?w=627&#038;h=110" border="0" alt="image" width="627" height="110" /></a></p>
<p><strong>New-RDSRemoteApp</strong></p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image11.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb11.png?w=629&#038;h=194" border="0" alt="image" width="629" height="194" /></a></p>
<p><strong>Remove-RDSRemoteApp</strong></p>
<p>  <a href="http://janegilring.files.wordpress.com/2010/06/image12.png"><img class="wlDisabledImage" style="display:inline;border:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb12.png?w=630&#038;h=208" border="0" alt="image" width="630" height="208" /></a></p>
<p><strong>Export-RDSRemoteApps</strong></p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image13.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb13.png?w=636&#038;h=133" border="0" alt="image" width="636" height="133" /></a></p>
<p><strong>Import-RDSRemoteApps</strong></p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image14.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb14.png?w=640&#038;h=138" border="0" alt="image" width="640" height="138" /></a> </p>
<p>Sample usage for export/import:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image15.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb15.png?w=645&#038;h=161" border="0" alt="image" width="645" height="161" /></a></p>
<p>Be aware that there are several other RDS settings that may be managed using the PowerShell provider, this module only leverages the RemoteApp functionality. If someone want to create a module for managing other aspects of RDS, feel free to include my RDSRemoteApp module. And as always, suggestions for improvements and new functionality are more than welcome.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/535/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=535&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/06/30/manage-rds-remoteapp-with-windows-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb9.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb10.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb11.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb12.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb13.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb14.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb15.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Backing up Group Policy Objects using Windows PowerShell</title>
		<link>http://blog.powershell.no/2010/06/15/backing-up-group-policy-objects-using-windows-powershell/</link>
		<comments>http://blog.powershell.no/2010/06/15/backing-up-group-policy-objects-using-windows-powershell/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 23:57:22 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Active Directory management]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2010/06/15/backing-up-group-policy-objects-using-windows-powershell/</guid>
		<description><![CDATA[A best practice in domain environments are backing up the Group Policy Objects regularly. Even though a GPO may be restored by restoring a system state backup from a domain controller to an alternate location, and then copy the contents from the deleted GPO to a new GPO to restore the settings, this may be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=506&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>A best practice in domain environments are backing up the Group Policy Objects regularly. Even though a GPO may be restored by restoring a system state backup from a domain controller to an alternate location, and then copy the contents from the deleted GPO to a new GPO to restore the settings, this may be a hazzle since it`s not pretty straightforward. It also requires you to restart the domain controller affected in Directory Services Restore Mode.<br />
PowerShell MVP Don Jones has written a good article on this topic, available <a href="http://redmondmag.com/articles/2010/05/01/back-up-active-directory-and-gpos.aspx" target="_blank">here</a>.</p>
<p>For those of you who may not want to do GPO restore the hard way, or buy a commercial third party product, I would encourage you to schedule regular GPO backups using the Windows PowerShell Group Policy-module available in Windows Server 2008 R2, as well as RSAT in Windows 7.<br />
To accomplish this, I`ve written a small script which backs up all modified GPO`s in the specified timespan. I would generally recommend to have the script run once a day, thereby setting the timespan-variable to the last 24 hours. The script are called Backup-ModifiedGPOs.ps1, and available from <a href="http://poshcode.org/1914">here</a>.</p>
<p>All Group Policy Objects modified in the specified timespan are backup up to the specified backup path.<br />
Also, an HTML-report are created for each GPO-backup, with the unique backup GUID as part of the filename. This way you can easily see what settings each backup contains.</p>
<p>When restoring a GPO, you must first note the GUID of the backup you want to restore. Then you can restore the GPO by using the Restore-GPO cmdlet in the Group Policy-module. Sample usage:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image3.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb3.png?w=644&#038;h=163" border="0" alt="image" width="644" height="163" /></a></p>
<p>Administrators who feels more comfortable working with the GUI, may use the Group Policy Management Console to do the restore.</p>
<p>The following procedure from the <a href="http://technet.microsoft.com/en-us/library/cc754948(WS.10).aspx" target="_blank">Group Policy Planning and Deployment Guide</a> on Microsoft TechNet describes how to accomplish the restore operation from the GUI:</p>
<p><strong><span style="font-size:xx-small;"><span style="font-family:Calibri;"><span style="font-size:x-small;">To view the list of GPO backups</span> </span></span></strong></p>
<ol>
<li><span style="font-family:Calibri;font-size:xx-small;">In the GPMC console tree, expand the forest or domain that contains the GPOs that you want to back up.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">Right-click <strong>Group Policy Objects</strong>, and the click <strong>Manage Backups</strong>.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">In the <strong>Manage Backups</strong> dialog box, enter the path to the location where you stored the GPO backups that you want to view. Alternatively, you can click <strong>Browse</strong>, locate the folder that contains the GPO backups, and then click <strong>OK</strong>.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">To specify that only the most recent version of the GPOs be displayed in the <strong>Backed up GPOs</strong> list, select the <strong>Show only the latest version of each GPO</strong> check box. Click <strong>Close</strong>.</span></li>
</ol>
<p><strong><span style="font-family:Calibri;font-size:x-small;">Using the GPMC to restore GPOs</span></strong></p>
<p><span style="font-family:Calibri;font-size:xx-small;">You can also restore GPOs. This operation restores a backed-up GPO to the same domain from which it was backed up. You cannot restore a GPO from a backup into a domain that is different from the GPO’s original domain.</span></p>
<p><strong><span style="font-size:xx-small;"><span style="font-family:Calibri;"><span style="font-size:x-small;">To restore a previous version of an existing GPO</span> </span></span></strong></p>
<ol>
<li><span style="font-family:Calibri;font-size:xx-small;">In the GPMC console tree, expand <strong>Group Policy Objects</strong> in the forest or domain that contains the GPOs that you want to restore.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">Right-click the GPO that you want to restore to a previous version, and then click <strong>Restore from Backup</strong>.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">When the <strong>Restore Group Policy Object Wizard</strong> opens, follow the instructions in the wizard, and then click <strong>Finish</strong>.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">After the restore operation completes, a summary will state whether the restore succeeded. Click <strong>OK</strong>.</span></li>
</ol>
<p><strong><span style="font-size:xx-small;"><span style="font-family:Calibri;"><span style="font-size:x-small;">To restore a deleted GPO</span> </span></span></p>
<ol>
<li><span style="font-family:Calibri;font-size:xx-small;">In the GPMC console tree, expand the forest or domain that contains the GPO that you want to restore.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">Right-click <strong>Group Policy Objects</strong>, and then click <strong>Manage Backups</strong>.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">In the <strong>Manage Backups </strong>dialog box, click <strong>Browse</strong>, and then locate the file that contains your backed-up GPOs.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">In the <strong>Backed up GPOs </strong>list, click the GPO that you want to restore, and then click <strong>Restore</strong>.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">When you are prompted to confirm the restore operation, click <strong>OK</strong>.</span></li>
<li><span style="font-family:Calibri;font-size:xx-small;">After the restore operation completes, a summary will state whether the restore succeeded. Click <strong>OK</strong>. Click <strong>Close</strong>.</span></li>
</ol>
<p> </p>
<p><strong>Important:</strong> Since Group Policy links are stored on the Organizational Unit objects in Active Directory, this information are not backup up and also not restore. However, the HTML backup-reports contains this information, so you may manually re-link the GPO to the correct OU(s).</p>
<p>Also note that WMI filters and IPSec policies are not backed up by the backup feature in the Group Policy Management Console. For more information on how to manage these items, see the before mentioned Group Policy Planning and Deployment Guide.</p>
<p></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/506/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=506&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/06/15/backing-up-group-policy-objects-using-windows-powershell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamic Remote Desktop Connection Manager connection list</title>
		<link>http://blog.powershell.no/2010/06/02/dynamic-remote-desktop-connection-manager-connection-list/</link>
		<comments>http://blog.powershell.no/2010/06/02/dynamic-remote-desktop-connection-manager-connection-list/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 21:51:06 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Active Directory management]]></category>
		<category><![CDATA[RSAT]]></category>
		<category><![CDATA[Remote Desktop Services]]></category>
		<category><![CDATA[Remote Management]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2010/06/02/dynamic-remote-desktop-connection-manager-connection-list/</guid>
		<description><![CDATA[  Microsoft recently released a free tool for managing multiple remote desktop connections called “Remote Desktop Connection Manager”. A sample screenshot: There are several nice features, such as “Connect group” which lets you connect to all servers in a group at once: On the “Group Properties” you may set common settings for all connections in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=501&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Microsoft recently released a free tool for managing multiple remote desktop connections called “<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=4603c621-6de7-4ccb-9f51-d53dc7e48047" target="_blank">Remote Desktop Connection Manager</a>”.</p>
<p>A sample screenshot:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb.png?w=644&#038;h=192" border="0" alt="image" width="644" height="192" /></a></p>
<p>There are several nice features, such as “Connect group” which lets you connect to all servers in a group at once:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image1.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb1.png?w=244&#038;h=205" border="0" alt="image" width="244" height="205" /></a></p>
<p>On the “Group Properties” you may set common settings for all connections in the group, like logon credentials:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/06/image2.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/06/image_thumb2.png?w=501&#038;h=388" border="0" alt="image" width="501" height="388" /></a></p>
<p>Further, there are group properties for RDS Gateway (formerly TS Gateway), display settings, local resources and so on.</p>
<p>There are several applications for remote desktop connections on the market, and some of them got these settings as a per server setting. It`s nice to be able to group servers and configure common settings.</p>
<p><strong><span style="font-size:medium;">Dynamically creating the connection list</span></strong></p>
<p>When you work in larger environments with hundreds, maybe thousands of servers, setting up each connection manually isn`t an option.</p>
<p>Since Remote Desktop Connection Manager stores the config-files in xml-files, it`s rather easy to create dynamic config-files for a domain using Windows PowerShell. I`ve created a script to accomplish this, called New-RDCManFile.ps1, available from <a href="http://poshcode.org/1893">here</a>. It uses Microsoft`s <a href="http://technet.microsoft.com/en-us/library/dd378937(WS.10).aspx" target="_blank">PowerShell-module for Active Directory</a>, which is available in Windows Server 2008 R2 and <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d" target="_blank">RSAT for Windows 7</a>.</p>
<p><span style="text-decoration:underline;">The script does the following:</span><br />
Creates a template xml-file<br />
Inserts the logged on user`s domain name in the file properties<br />
Inserts the logged on user`s domain name in the group properties<br />
Inserts the logged on user`s username in the logoncredentials section<br />
Inserts the logged on user`s domain name in the logoncredentials section<br />
Retrieves all computer objects from Active Directory with the word “server” in the operatingsystem property<br />
Adds each computer object as a server object<br />
Saves the XML-file to %userprofile%\domain-name.rdg</p>
<p>When done you can open the rdg-file in Remote Desktop Connection Manager. I would recommend you to insert your password in the Group Properties to avoid being asked for credentials for each connection.</p>
<p>Feel free to customize the script to your needs, in example by editing the XML-template to edit the Group Properties. Another customization might be creating a group for each server OU for enhanced overview in larger environments.</p>
<p>If you would rather use Quest`s <a href="http://www.quest.com/powershell/activeroles-server.aspx" target="_blank">PowerShell Commands for Active Directory</a> (which works on downlevel operatingsystems like Windows XP and Windows Server 2003), or any other way to retrieve the server names, you may customize this on line 110.</p>
<p>You might also want to schedule the script to run on a regular basis, saving the file to a central location. This way the IT personnel will always have access to the latest version with the most recent servers added.</p>
<p>If you got any further ideas or comments, please let me know in the comments section below.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/501/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/501/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/501/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/501/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/501/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/501/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/501/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/501/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/501/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/501/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=501&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/06/02/dynamic-remote-desktop-connection-manager-connection-list/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/06/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Enable and configure Windows PowerShell Remoting using Group Policy</title>
		<link>http://blog.powershell.no/2010/03/04/enable-and-configure-windows-powershell-remoting-using-group-policy/</link>
		<comments>http://blog.powershell.no/2010/03/04/enable-and-configure-windows-powershell-remoting-using-group-policy/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 13:42:09 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Active Directory management]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2003 R2]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[Windows PowerShell Remoting]]></category>
		<category><![CDATA[WinRM]]></category>

		<guid isPermaLink="false">http://janegilring.wordpress.com/2010/03/04/enable-and-configure-windows-powershell-remoting-using-group-policy/</guid>
		<description><![CDATA[As you may know, Windows PowerShell 2.0 introduced a new remoting feature, allowing for remote management of computers. While this feature can be enabled manually (or scripted) with the PowerShell 2.0 cmdlet Enable-PSRemoting, I would recommend using Group Policy whenever possible. This guide will show you how this can be accomplished for Windows Vista, Windows [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=436&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>As you may know, Windows PowerShell 2.0 introduced a new remoting feature, allowing for remote management of computers.</p>
<p>While this feature can be enabled manually (or scripted) with the PowerShell 2.0 cmdlet <a href="http://technet.microsoft.com/en-us/library/dd819498.aspx">Enable-PSRemoting</a>, I would recommend using Group Policy whenever possible. This guide will show you how this can be accomplished for Windows Vista, Windows Server 2008 and above. For Windows XP and Windows Server 2003, running Enable-PSRemoting in a PowerShell startup script would be the best approach.</p>
<p>Windows PowerShell 2.0 and WinRM 2.0 shipped with Windows 7 and Windows Server 2008 R2. To take advantage of Windows PowerShell Remoting, both of these are required on the downlevel operating systems Windows XP, Windows Server 2003, Windows Vista and Windows Server 2008. Both Windows PowerShell 2.0 and WinRM 2.0 are available for download <a href="http://support.microsoft.com/kb/968929">here</a>, as part of the Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0). To deploy this update to downlevel operating systems I would recommend to use WSUS, which are described in detail in <a href="http://trycatch.be/blogs/roggenk/archive/2010/07/26/deploying-powershell-2-0-in-your-environment.aspx">this</a> blog post by Kurt Roggen.</p>
<p><strong>Group Policy Configuration</strong></p>
<p>Open the Group Policy Management Console from a domain-joined Windows 7 or Windows Server 2008 R2 computer.</p>
<p>Create or use an existing Group Policy Object, open it, and navigate to Computer Configuration-&gt;Policies-&gt;Administrative templates-&gt;Windows Components</p>
<p>Here you will find the available Group Policy settings for Windows PowerShell, WinRM and Windows Remote Shell:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb.png?w=244&#038;h=86" border="0" alt="image" width="244" height="86" /></a></p>
<p>To enable PowerShell Remoting, the only setting we need to configure are found under “WinRM Service”, named “Allow automatic configuration of listeners”:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image1.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb1.png?w=467&#038;h=427" border="0" alt="image" width="467" height="427" /></a></p>
<p>Enable this policy, and configure the IPv4 and IPv6 addresses to listen on. To configure WinRM to listen on all addresses, simply use *.</p>
<p>No other settings need to be configured, however, I`ve provided screenshots of the other settings so you can see what`s available:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image2.png"><img style="display:inline;border:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb2.png?w=390&#038;h=122" border="0" alt="image" width="390" height="122" /></a></p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image3.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb3.png?w=543&#038;h=135" border="0" alt="image" width="543" height="135" /></a></p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image4.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb4.png?w=543&#038;h=149" border="0" alt="image" width="543" height="149" /></a></p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image5.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb5.png?w=544&#038;h=66" border="0" alt="image" width="544" height="66" /></a></p>
<p>There is one more thing to configure though; the Windows Firewall.</p>
<p>You need to create a new Inbound Rule under Computer Configuration-&gt;Policies-&gt;Windows Settings-&gt;Windows Firewall with Advanced Security-&gt;Windows Firewall with Advanced Security-&gt;Inbound Rules:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image6.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb6.png?w=242&#038;h=244" border="0" alt="image" width="242" height="244" /></a></p>
<p>The WinRM port numbers are predefined as “Windows Remote Management”:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image7.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb7.png?w=521&#038;h=417" border="0" alt="image" width="521" height="417" /></a></p>
<p>With WinRM 2.0, the default http listener port <a href="http://blogs.msdn.com/wmi/archive/2009/07/22/new-default-ports-for-ws-management-and-powershell-remoting.aspx">changed</a> from TCP 80 to TCP 5985. The old port number are a part of the predefined scope for compatibility reasons, and may be excluded if you don`t have any legacy WinRM 1.1 listeners.</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image8.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb8.png?w=519&#038;h=415" border="0" alt="image" width="519" height="415" /></a></p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image9.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb9.png?w=522&#038;h=419" border="0" alt="image" width="522" height="419" /></a></p>
<p>When the rule are created, you may choose to make further restrictions, i.e. to only allow the IP addresses of your management subnet, or perhaps some specific user groups:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image10.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb10.png?w=320&#038;h=420" border="0" alt="image" width="320" height="420" /></a></p>
<p>Now that the firewall rule are configured, we are done with the minimal configuration to enable PowerShell Remoting using Group Policy.</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image11.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb11.png?w=644&#038;h=31" border="0" alt="image" width="644" height="31" /></a></p>
<p>On a computer affected by the newly configured Group Policy Object, run gpupdate and see if the settings were applied:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image12.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb12.png?w=591&#038;h=347" border="0" alt="image" width="591" height="347" /></a></p>
<p>As you can see, the listener indicates “Source*”GPO”, meaning it was configured from a Group Policy Object.</p>
<p>When the GPO have been applied to all the affected computers you are ready to test the configuration.</p>
<p>Here is a sample usage of PowerShell Remoting combined with the Active Directory-module for Windows PowerShell:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/03/image13.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/03/image_thumb13.png?w=644&#038;h=93" border="0" alt="image" width="644" height="93" /></a></p>
<p>The example are saving all computer objects in the Domain Controller Organization Unit in a variable. Then, a foreach-loop are invoking a scriptblock, returning the status of the Netlogon-service on all of the Domain Controllers.</p>
<p><strong>Summary</strong></p>
<p>We`ve now had a look on how to enable and configure PowerShell Remoting using Group Policy.<br />
There are an incredible number of opportunities opening up with the new Remoting feature in Windows PowerShell 2.0. For a complete walkthrough on how you can use this new feature, I would like to recommend the excellent <a href="http://powershell.com/cs/media/p/4908.aspx">Administrator&#8217;s Guide to Windows PowerShell Remoting</a> written by Dr. Tobias Weltner, Aleksandar Nikolic and Richard Giles.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/436/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/436/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/436/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/436/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/436/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/436/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/436/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/436/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/436/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/436/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=436&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/03/04/enable-and-configure-windows-powershell-remoting-using-group-policy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb5.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb9.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb10.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb11.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb12.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/03/image_thumb13.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Pin and unpin applications from the taskbar and Start-menu using Windows PowerShell</title>
		<link>http://blog.powershell.no/2010/02/26/pin-and-unpin-applications-from-the-taskbar-and-start-menu-using-windows-powershell/</link>
		<comments>http://blog.powershell.no/2010/02/26/pin-and-unpin-applications-from-the-taskbar-and-start-menu-using-windows-powershell/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 15:55:19 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Desktop management]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[pin applications;unpin applications]]></category>

		<guid isPermaLink="false">http://janegilring.wordpress.com/2010/02/26/pin-and-unpin-applications-from-the-taskbar-and-start-menu-using-windows-powershell/</guid>
		<description><![CDATA[I`ve created a PowerShell module for working with pinned applications in Windows 7 and Windows Server 2008 R2. The module are created based on a script created by Ragnar Harper and Kristian Svantorp. The module are available here, on the TechNet Script Center Gallery. Installation and usage Modules in Windows PowerShell can be “installed” in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=405&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I`ve created a PowerShell module for working with pinned applications in Windows 7 and Windows Server 2008 R2. The module are created based on a <a href="http://blog.crayon.no/files/folders/scripts/entry12967.aspx">script</a> created by <a href="http://blog.crayon.no/blogs/ragnar/archive/2009/04/17/pin-applications-to-windows-7-taskbar.aspx">Ragnar Harper</a> and <a href="http://blogs.technet.com/kristian/archive/2009/04/24/nytt-script-pin-to-taskbar.aspx">Kristian Svantorp</a>.</p>
<p>The module are available <a href="http://gallery.technet.microsoft.com/ScriptCenter/en-us/b66434f1-4b3f-4a94-8dc3-e406eb30b750">here</a>, on the TechNet Script Center Gallery.</p>
<p><strong>Installation and usage</strong></p>
<p>Modules in Windows PowerShell can be “installed” in two ways:</p>
<p>1) Save the module as a psm1-file, and store it in a folder with the same name as the psm1-file. Copy this folder, using i.e. xcopy or Copy-Item, to a desired PowerShell module-folder (see available module paths using $env:PSModulePath)</p>
<p>2) Import the module by calling the psm1-file directly.</p>
<p>The first option are preferred for production use.</p>
<p>Next, import the module using Import-Module:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/02/image.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/02/image_thumb.png?w=330&#038;h=34" border="0" alt="image" width="330" height="34" /></a> <br />
(Option 1)</p>
<p><a href="http://janegilring.files.wordpress.com/2010/02/image1.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/02/image_thumb1.png?w=396&#038;h=35" border="0" alt="image" width="396" height="35" /></a><br />
(Option 2)</p>
<p>The module consist of one function as shown here:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/02/image2.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/02/image_thumb2.png?w=563&#038;h=75" border="0" alt="image" width="563" height="75" /></a></p>
<p>The help text are available with Get-Help:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/02/image3.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/02/image_thumb3.png?w=637&#038;h=282" border="0" alt="image" width="637" height="282" /></a></p>
<p>For example usage, add –Examples to the Get-Help cmdlet:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/02/image4.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/02/image_thumb4.png?w=638&#038;h=214" border="0" alt="image" width="638" height="214" /></a></p>
<p>Basic error checking for valid parameters are included:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/02/image5.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/02/image_thumb5.png?w=612&#038;h=98" border="0" alt="image" width="612" height="98" /></a></p>
<p>The Set-PinnedApplication function supports the en-us and nb-no locales as-is, but you can easily add support for more locales.</p>
<p>Feel free to let me know in the comment section below if you got any feedback.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/405/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=405&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/02/26/pin-and-unpin-applications-from-the-taskbar-and-start-menu-using-windows-powershell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/02/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/02/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/02/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/02/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/02/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2010/02/image_thumb5.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Hyper-V R2 and storage location for snapshot differencing disks</title>
		<link>http://blog.powershell.no/2010/02/23/hyper-v-r2-and-storage-location-for-snapshot-differencing-disks/</link>
		<comments>http://blog.powershell.no/2010/02/23/hyper-v-r2-and-storage-location-for-snapshot-differencing-disks/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 12:16:05 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Hyper-V R2]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[avhd path;snapshots in hyper-v]]></category>

		<guid isPermaLink="false">http://janegilring.wordpress.com/2010/02/23/hyper-v-r2-and-storage-location-for-snapshot-differencing-disks/</guid>
		<description><![CDATA[I recently worked with a Hyper-V case, where the differencing disk files (.AVHD) for snapshots didn`t appear at the expected location. As we figured this out, I would like to share the experience we had regarding this. A virtual machine has two important directories, the VM root and the snapshot root. The VM root is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=392&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I recently worked with a Hyper-V case, where the differencing disk files (.AVHD) for snapshots didn`t appear at the expected location. As we figured this out, I would like to share the experience we had regarding this.</p>
<p>A virtual machine has two important directories, the VM root and the snapshot root. The VM root is where we store the virtual machine configuration file (XML) and the saved state files (.BIN and .VSV). The snapshot root is where we store the config and saved state files for each snapshot of a virtual machine. </p>
<p>Virtual hard disks (.VHDs) are stored where ever the user specifies when creating the virtual machine (or when creating a new virtual hard disk). </p>
<p>What has changed in Hyper-V between Windows Server 2008 and Windows Server 2008 R2 is the placement of .AVHD files (these are the differencing disks created for each snapshot). In Windows Server 2008 the .AVHD is always created in the snapshot root location, which by default are located at C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots. This caused a lot of people problems &#8211; as they would run out of space on the partition where the snapshot root folder was. In Windows Server 2008 R2 the .AVHD file is always created in the same location as its parent virtual hard disk. </p>
<p>This means that with R2 .AVHD files will always appear beside their respective .VHD files. The one exception to this is if you bring across a Windows Server 2008 virtual machine with .AVHDs already in the snapshot root. In this case new .AVHDs will be created beside their parent .AVHDs (in the snapshot root).</p>
<p>&#160;</p>
<p><strong>Microsoft TechNet Resources      <br /></strong>    <br /><a href="http://technet.microsoft.com/en-us/library/cc730764(WS.10).aspx">Hyper-V in Windows Server 2008</a>     <br /><a href="http://technet.microsoft.com/en-us/library/cc730764.aspx">Hyper-V R2 in Windows Server 2008 R2</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/392/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=392&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/02/23/hyper-v-r2-and-storage-location-for-snapshot-differencing-disks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>
	</item>
		<item>
		<title>Single Sign-On to Remote Desktop Services</title>
		<link>http://blog.powershell.no/2009/12/25/single-sign-on-to-remote-desktop-services/</link>
		<comments>http://blog.powershell.no/2009/12/25/single-sign-on-to-remote-desktop-services/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 22:42:37 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Remote Desktop Services]]></category>
		<category><![CDATA[Terminal Services]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[rds web access]]></category>
		<category><![CDATA[Single Sign-On]]></category>
		<category><![CDATA[Single Signon]]></category>
		<category><![CDATA[SSO]]></category>
		<category><![CDATA[terminal server]]></category>

		<guid isPermaLink="false">http://janegilring.wordpress.com/2009/12/25/single-sign-on-to-remote-desktop-services/</guid>
		<description><![CDATA[&#160; Single sign-on is an authentication method that allows users with a domain account to log on once to a client computer by using a password, and then gain access to remote servers without being asked for their credentials again. See more details here for Windows Server 2008 and here for Windows Server 2008 R2. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=345&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p>Single sign-on is an authentication method that allows users with a domain account to log on once to a client computer by using a password, and then gain access to remote servers without being asked for their credentials again. See more details <a href="http://technet.microsoft.com/en-us/library/cc772108(WS.10).aspx">here</a> for Windows Server 2008 and <a href="http://technet.microsoft.com/en-us/library/cc742808.aspx">here</a> for Windows Server 2008 R2.</p>
<p>On the client-side SSO are currently available for Windows XP with SP3, Windows Vista and Windows 7.</p>
<p>&#160;</p>
<p><strong><font size="4">Configure SSO on the server-side</font></strong></p>
<p>To configure SSO on the server-side (Windows Server 2008 Terminal Services or Windows Server 2008 R2 Remote Desktop Services), set the option “Security layer” to either “Negotiate” or “SSL (TLS 1.0)”:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb.png?w=244&#038;h=173" width="244" height="173" /></a> </p>
<p>Best practice would be to configure this in a common GPO for all Remote Desktop Services servers in the domain:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image1.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb1.png?w=244&#038;h=223" width="244" height="223" /></a> </p>
<p>This setting resides under Computer Configuration-&gt;Policies-&gt;Administrative templates-&gt;Windows Components-&gt;Terminal Services-&gt;Terminal Server-&gt;Security.</p>
<p>&#160;</p>
<p><strong><font size="4">Configure SSO on the client-side</font></strong></p>
<p>Using a common GPO would also be the best practice to deploy the client settings needed for SSO to work.    <br />The “Allow Delegating Default Credentials” resides under Computer Configuration-&gt;Policies-&gt;System-&gt;Credentials Delegation:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image2.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb2.png?w=644&#038;h=191" width="644" height="191" /></a> </p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image3.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb3.png?w=244&#038;h=225" width="244" height="225" /></a> </p>
<p>Enable “Allow Delegating Default Credentials”, press the “Show”-button and either specify the domain pre-fixed with * to allow delegation to all servers in the domain, or specify specific servers:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image4.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb4.png?w=244&#038;h=162" width="244" height="162" /></a>&#160;</p>
</p>
</p>
<p>Next, create a RDP-file and deploy this file to the client computers.    <br />Before deploying the file, open it in a text editor, e.g. Notepad, and add the following line: enablecredsspsupport:i:1     <br />This will enable SSO for the RDP-file.</p>
<p>I would also recommend to sign the RDP-file with a Code Signing certificate. This can be accomplished using the utility <a href="http://technet.microsoft.com/en-us/library/cc753982(WS.10).aspx">rdpsign.exe</a>:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image5.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb5.png?w=244&#038;h=79" width="244" height="79" /></a> </p>
<p>Sample signing:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image6.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb6.png?w=244&#038;h=20" width="244" height="20" /></a> </p>
<p>When a RDP-file are signed, the following will be added to the bottom of the file:</p>
<p>signature:s:AQABAAEAAADBCgAAMIIKvQ……..</p>
<p>For Windows Vista and Windows 7 clients, the configuration would now be completed when the RDP-file are deployed.</p>
</p>
<p>&#160;</p>
<p>For Windows XP clients the following would be necessary in addition to the steps above:    <br />-Service Pack 3 needs to be installed     <br />-At least version 6.0 of the Remote Desktop Client     <br />-Turn on the CredSSP Security Provider</p>
<p>The steps to turn on the CredSSP Security Provider are described in <a href="http://support.microsoft.com/default.aspx/kb/951608">this</a> kb-article.</p>
<p>I would recommend deploying these registry settings using Group Policy Preferences:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image7.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb7.png?w=244&#038;h=125" width="244" height="125" /></a> </p>
<p>Also the RDP-file may be deployed in the same way:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/12/image8.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/12/image_thumb8.png?w=244&#038;h=43" width="244" height="43" /></a> </p>
<p>I`ve covered the usage of Group Policy Preferences in a <a href="http://blog.powershell.no/2009/03/20/group-policy-preferences/">previous post</a>.</p>
</p>
<p>Also, SSO can be combined with <a href="http://technet.microsoft.com/en-us/library/cc731923.aspx">Remote Desktop Services Web Access</a>. The Remote Desktop Services Team has posted an excellent <a href="http://blogs.msdn.com/rds/archive/2009/08/11/introducing-web-single-sign-on-for-remoteapp-and-desktop-connections.aspx">post</a> describing how to set up SSO in RDS Web Access.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/345/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=345&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2009/12/25/single-sign-on-to-remote-desktop-services/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb5.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/12/image_thumb8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Deploying printers using Group Policy</title>
		<link>http://blog.powershell.no/2009/11/08/deploying-printers-using-group-policy/</link>
		<comments>http://blog.powershell.no/2009/11/08/deploying-printers-using-group-policy/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 18:38:52 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Print management]]></category>
		<category><![CDATA[Windows Server 2003 R2]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>

		<guid isPermaLink="false">http://janegilring.wordpress.com/2009/11/08/deploying-printers-using-group-policy/</guid>
		<description><![CDATA[Traditionally printer connections have been deployed to users with scripting, like batch (net use) and Kixtart (AddPrinterConnection). I would now like to show how printer connections can be deployed using Group Policy. Today we have 2 possible solutions for natively deploy printers using Group Policy without the need for any scripting: 1) Group Policy Preferences [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=314&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Traditionally printer connections have been deployed to users with scripting, like batch (net use) and Kixtart (AddPrinterConnection).</p>
<p>I would now like to show how printer connections can be deployed using Group Policy. Today we have 2 possible solutions for natively deploy printers using Group Policy without the need for any scripting:</p>
<p>1) Group Policy Preferences – available in Windows Server 2008 and later</p>
<p>2) Print Management – available in Windows Server 2003 R2 and later</p>
<p>Using Group Policy Preferences to deploy printers are described in an earlier blog post, available <a href="http://blog.powershell.no/2009/03/20/group-policy-preferences/" target="_blank">here</a>. Therefore, I won`t explain any further details regarding this.</p>
<p>I will focus on the Print Management which has a powerful “Deploy with Group Policy” feature.</p>
<p><span style="font-size:large;">Configure printer deployment on </span></p>
<p><span style="font-size:large;">print servers</span></p>
<p>To use the “Deploy with Group Policy” feature, you need to install the “Print Management Component” feature from “Add/Remove Windows Components” in Windows Server 2003 R2. In Windows Server 2008/2008 R2 you need to install the “Print Server”-role from the “Add Roles Wizard”.</p>
<p>When installed, you`ll find “Print Management” under “Administrative tools” on the Start menu:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image1.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb1.png?w=122&#038;h=23" border="0" alt="image" width="122" height="23" /></a></p>
<p>The following screenshots are taken from Windows Server 2008 R2.</p>
<p>When you open the Print Management Console you will see an overview of Custom Filters, Print Server and Deployed Printers:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image2.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb2.png?w=135&#038;h=184" border="0" alt="image" width="135" height="184" /></a></p>
<p>You may add additional filters and print servers to the console, which you can read more about in the links in the bottom of this post. For now, we`ll focus on the printer deployment part.</p>
<p>Right-click the printer you want to deploy, and select “Deploy with Group Policy”:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image3.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb3.png?w=290&#038;h=139" border="0" alt="image" width="290" height="139" /></a></p>
<p>Select “Browse” to choose a Group Policy Object where the printer connection will be deployed. Select “per user” and/or “per machine” and press “Add”. Then click “OK”:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image4.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb4.png?w=426&#038;h=255" border="0" alt="image" width="426" height="255" /></a></p>
<p>You should now receive a message stating that the deployment operation was successful. Click “OK”:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image5.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb5.png?w=244&#038;h=187" border="0" alt="image" width="244" height="187" /></a> </p>
<p>The printer will now be deployed to client computers.</p>
<p><span style="font-size:large;"> </span></p>
<p><span style="font-size:large;">Behind the scenes</span></p>
<p>To understand how the print deployment feature works, we`ll activate the “Advanced Features” option on the “View”-menu in “Active Directory Users and Computers”:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image6.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb6.png?w=244&#038;h=129" border="0" alt="image" width="244" height="129" /></a></p>
<p>Open the “Group Policy Management Console”, go to the Group Policy Object you deployed the printer to, and select “Details”:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image7.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb7.png?w=244&#038;h=204" border="0" alt="image" width="244" height="204" /></a></p>
<p>Note the “Unique ID” (GUID).</p>
<p>Back in ADUC, expand “System” and then “Policies”:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image8.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb8.png?w=194&#038;h=324" border="0" alt="image" width="194" height="324" /></a></p>
<p>This is where the actual Group Policy Objects in Active Directory are stored, in addition to <a href="//\\domain.local\sysvol\policies">\\domain.local\sysvol\policies</a>.</p>
<p>Find and expand the Group Policy Object you deployed the printer to. You will now see “PushedPrinterConnections” under the “Machine” and “User” nodes:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image9.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb9.png?w=244&#038;h=76" border="0" alt="image" width="244" height="76" /></a></p>
<p>When looking at “PushedPrinterConnections” under the “User” node, we see an entry of type “msPrint-ConnectionPolicy”:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image10.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb10.png?w=262&#038;h=27" border="0" alt="image" width="262" height="27" /></a></p>
<p>When we go into “Properties” on the “msPrint-ConnectionPolicy” and go to “Attribute Editor”, we can see that this represents the printer connection we added:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image11.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb11.png?w=265&#038;h=293" border="0" alt="image" width="265" height="293" /></a></p>
<p><span style="font-size:large;">Deployment to client computers</span></p>
<p>Client computers running Windows Vista and later have native support for the new printer connection policies, and will work “out-of-the-box” when printer connections are added to a Group Policy.</p>
<p>Client computers running Windows 2000 and Windows XP doesn`t support the the new printer connection policies natively. To resolve this, there are a utility called “pushprinterconnections.exe” which must be added to a logonscript in Group Policy. This utility will check the computer and user Group Policy Objects and add any printer connections defined.</p>
<p>This utility have 1 parameter: –log. This is useful when troubleshooting problems, and I would recommend you to use this parameter. As you can see, the utility should not be run manually from the command line:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image12.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb12.png?w=446&#038;h=154" border="0" alt="image" width="446" height="154" /></a></p>
<p>Here is an example of the utility added to a logon-script in a Group Policy Object:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image13.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb13.png?w=270&#038;h=392" border="0" alt="image" width="270" height="392" /></a></p>
<p>The log-files are named “ppcUser.log” and “ppcComputer.log”. These are located in the %temp% directory:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image14.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb14.png?w=479&#038;h=50" border="0" alt="image" width="479" height="50" /></a></p>
<p>Here is an example output of the logfile:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image15.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb15.png?w=567&#038;h=85" border="0" alt="image" width="567" height="85" /></a></p>
<p>In Windows 2000 and Windows XP, no other feedback than these log-files are provided.</p>
<p>In Windows Vista/Windows Server 2008 and later, the following feedback are shown during logon:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image16.png"><img style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb16.png?w=244&#038;h=182" border="0" alt="image" width="244" height="182" /></a></p>
<p>In addition, any failures are logged to the “Application”-log with Source “SpoolerSpoolss”.</p>
<p><span style="font-size:small;"><strong>Special considerations</strong></span></p>
<p>Windows 2000 supports only “per machine” deployments when using the pushprinterconnections.exe utility.</p>
<p>The pushprinterconnections.exe utility won`t catch “per user” connection policies when using “User Group Policy loopback processing”. You must link the GPO containing the “per user” connection policies to an Organizational Unit where the users reside.</p>
<p>Use ACL`s  on the printer objects on the print servers to publish the printers based on group membership. By using this approach, all printer connections may be defined in the same Group Policy Object.</p>
<p><span style="font-size:large;">My recommendations</span></p>
<p>As I said in the introduction to this post, printer connections have traditionally been deployed to users with scripting. Since there are native ways to accomplish this using Group Policy, this would be my recommendation.</p>
<p>Considerations for using the “Deploy with Group Policy” feature in the print server role:</p>
<p>-the print administrator would have an overview over all printers which are deployed with the Print Management Group Policy feature in the Print Management console<br />
-printers can be administered in an individual GPO like GP Preferences with the Print Management console. To do so, open Group Policy Editor, expand Computer Configuration/User Configuration-&gt;Policies-&gt;Windows Settings-&gt;Deployed Printers<br />
-it requires that pushprinterconnections.exe are run on Windows XP and Windows Server 2003 clients<br />
-it is available with Windows XP/Windows Server 2003 R2 and later (backwards compatible to Windows 2000 Professional/2000 Server)<br />
-it requires Windows Server 2003 Client Access Licenses (CALs)</p>
<p>Considerations for using Group Policy Preferences:</p>
<p>-it can handle more different printer types (local, TCP/IP, and shared instead of only &#8220;shared&#8221;)<br />
-it has several additional options (deleting all existing connections, setting default printer, etc.)<br />
-it can save a lot of GPOs because you can have many printer objects in one GPO and use &#8220;Item Level Targeting&#8221; to address each printer individually (e.g. clients in a specific IP-range, per group or even per user)<br />
-it is easy to automate the process of adding printer objects to a GPO using Windows PowerShell, since the GP Preferences settings are store in XML-files<br />
-it requires that Group Policy Client Side Extenstions are deployed on Windows XP and Windows Server 2003 clients<br />
-it is available with Windows Vista/Windows Server 2008 and later (backwards compatible to Windows XP/2003 Server)<br />
-it requires Windows Server 2008 Client Access Licenses (CALs)</p>
<p><span style="font-size:large;"> </span></p>
<p><span style="font-size:large;">Resource links</span></p>
<p><a href="http://technet.microsoft.com/en-us/library/cc755424(WS.10).aspx#BKMK_DeployingPrinters">Step-by-Step Guide for Print Management</a><br />
(Applies To: Windows Server 2003 R2)</p>
<p><a href="http://technet.microsoft.com/en-us/library/cc753109(WS.10).aspx">Print Management Step-by-Step Guide</a><br />
Applies To: Windows Server 2008</p>
<p><a href="http://technet.microsoft.com/en-us/library/cc766474.aspx">Print Management</a><br />
(Applies To: Windows 7, Windows Server 2008 R2, Windows Vista)</p>
<p><a href="http://technet.microsoft.com/en-us/library/cc772505.aspx">Deploy the PushPrinterConnections.exe Utility</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/314/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=314&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2009/11/08/deploying-printers-using-group-policy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb5.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb9.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb10.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb11.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb12.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb13.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb14.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb15.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb16.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>How to install an Excel Add-in with PowerShell</title>
		<link>http://blog.powershell.no/2009/11/01/how-to-install-an-excel-add-in-with-powershell/</link>
		<comments>http://blog.powershell.no/2009/11/01/how-to-install-an-excel-add-in-with-powershell/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 15:19:11 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Remote Desktop Services]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Excel Addin automation]]></category>

		<guid isPermaLink="false">http://janegilring.wordpress.com/2009/11/01/how-to-install-an-excel-add-in-with-powershell/</guid>
		<description><![CDATA[Recently I had the need to automate the process of installing Excel Add-ins in a terminalserver (or more correctly Remote Desktop Services environment since this was Windows Server 2008 R2) environment. Since Excel Add-ins are per-user based, this was in the first place a manual setting. Of course we wanted to automate this process, so [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=279&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Recently I had the need to automate the process of installing Excel Add-ins in a terminalserver (or more correctly Remote Desktop Services environment since this was Windows Server 2008 R2) environment.</p>
<p>Since Excel Add-ins are per-user based, this was in the first place a manual setting. Of course we wanted to automate this process, so I researched a bit on the internet and found mostly VBScripts. I`ve used <a href="http://support.microsoft.com/kb/280290">this KB-article</a> as a template.     </p>
<p>Although this worked very well, I`m trying to leverage the use of PowerShell as much as possible. Many would say that VBScripts load much faster, and are more effecient as logonscripts.     <br />Even though PowerShell v1 was a bit slow due to the lack of assemblies not being ngen`ed, as <a href="http://blogs.msdn.com/powershell/archive/2008/09/02/speeding-up-powershell-startup-updating-update-gac-ps1.aspx">described on the PowerShell Team`s Blog</a>, this bug is fixed in v2 and I`m quite happy with the loading time now.</p>
<p>I basicly re-wrote the sample VBScript in the KB-article, the result are uploaded to <a href="http://poshcode.org">PoshCode.org</a> and available from <a href="http://poshcode.org/1444">here</a>.</p>
<p>I used an if-statement to check if the Add-in are already installed, to avoid installing it on every logon.</p>
<p>When tested and ready for production, the script may be distributed as a traditional logonscript, or alternatively with Group Policy:</p>
<p><a href="http://janegilring.files.wordpress.com/2009/11/image.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2009/11/image_thumb.png?w=332&#038;h=367" width="332" height="367" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/279/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=279&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2009/11/01/how-to-install-an-excel-add-in-with-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>

		<media:content url="http://janegilring.files.wordpress.com/2009/11/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Replmon.exe not included in Windows Server 2008/2008 R2</title>
		<link>http://blog.powershell.no/2009/09/18/replmon-exe-not-included-in-windows-server-20082008-r2/</link>
		<comments>http://blog.powershell.no/2009/09/18/replmon-exe-not-included-in-windows-server-20082008-r2/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 19:18:47 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Active Directory management]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[repadmin]]></category>
		<category><![CDATA[replmon]]></category>

		<guid isPermaLink="false">http://janegilring.wordpress.com/2009/09/18/replmon-exe-not-included-in-windows-server-20082008-r2/</guid>
		<description><![CDATA[A lot of administrators are used to check their Active Directory replication status using replmon.exe which is a part of the Windows Server 2003 Support tools. Today I stumbled across the need to use replmon.exe on a domain controller running Windows Server 2008, and was unable to find it. It turns out that that this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=243&subd=janegilring&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>A lot of administrators are used to check their Active Directory replication status using replmon.exe which is a part of the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=96a35011-fd83-419d-939b-9a772ea2df90&amp;displaylang=en">Windows Server 2003 Support tools</a>.     <br />Today I stumbled across the need to use replmon.exe on a domain controller running Windows Server 2008, and was unable to find it.</p>
<p>It turns out that that this utility is not included in Windows Server 2008/2008 R2.</p>
<p>According to a <a href="http://blogs.technet.com/askds/archive/2008/07/15/five-common-causes-of-waiting-for-the-dfs-replication-service-to-retrieve-replication-settings-from-active-directory.aspx#3089665">comment</a> from a team member from the Microsoft Directory Services Team, this is the explanation:</p>
<p><em>“Unfortunately, replmon did not survive the transition to Win2008. It was actually developed by MS support, not the product group (along with many other support tools/resource kit tools), and without an actual owner to service the tool years later, it was a casualty. I don’t see why it wouldn’t work on 2008 though…”</em></p>
<p>I wouldn`t recommend using unsupported tools on Windows Server 2008/2008 R2, so the advice would be to either use repadmin.exe on 2008/2008 R2, or to use replmon.exe from a Windows Server 2003 server.</p>
<p>You can find the command reference for repadmin.exe in Windows Server 2008/2008 R2 <a href="http://technet.microsoft.com/en-us/library/cc770963(WS.10).aspx">here</a>.</p>
<p>A few examples:</p>
<p><strong>repadmin.exe /showrepl</strong> shows the replication-status for the domain controller the tool are being run from.</p>
<p><strong>repadmin.exe /showrepl servername</strong> shows the replication-status for the domain controller with the provided servername,</p>
<p><strong>repadmin.exe /queue</strong> shows the replication-queue for the domain controller the tool are being run from.</p>
<p><strong>repadmin.exe /queue servername</strong> shows the replication-queue for the domain controller with the provided servername,</p>
<p><strong>repadmin.exe /replsummary</strong> shows a brief summary of the replication status.</p>
<p>I also checked if there are any PowerShell cmdlets for checking replication status in Windows Server 2008 R2, but it`s not. Hopefully this will be implemented some time in the future.</p>
<p>PS: I did test installing the Windows Server 2003 Support tools on a Windows Server 2008 domain controller in a lab environment, and it does work.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/243/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&blog=5892504&post=243&subd=janegilring&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2009/09/18/replmon-exe-not-included-in-windows-server-20082008-r2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed08d635415486b87539a6e5a81982b7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">janegilring</media:title>
		</media:content>
	</item>
	</channel>
</rss>