<?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, 06 Feb 2012 09:18:37 +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://0.gravatar.com/blavatar/e22e511529c14fbc92cde5589d6231b4?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-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>Adding printer drivers from a print server using Windows PowerShell</title>
		<link>http://blog.powershell.no/2011/07/03/adding-printer-drivers-from-a-print-server-using-windows-powershell/</link>
		<comments>http://blog.powershell.no/2011/07/03/adding-printer-drivers-from-a-print-server-using-windows-powershell/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 14:57:25 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Print management]]></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]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[print drivers]]></category>
		<category><![CDATA[printer drivers]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2011/07/03/adding-printer-drivers-from-a-print-server-using-windows-powershell/</guid>
		<description><![CDATA[Managing printer drivers in a Remote Desktop Services (formerly Terminal Services) environment can be a challenge for administrators. There are many ways to ease this challenge, including third party solutions such as ThinPrint and UniPrint. When “thick” drivers are used on the RDS servers, all printer drivers must be installed locally on every server. Citrix [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=874&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Managing printer drivers in a Remote Desktop Services (formerly Terminal Services) environment can be a challenge for administrators. There are many ways to ease this challenge, including third party solutions such as ThinPrint and UniPrint. When “thick” drivers are used on the RDS servers, all printer drivers must be installed locally on every server. Citrix XenApp has a printer driver replication feature which makes it possible to distribute printer drivers from a source server to one or more destination servers in a farm.</p>
<p>There might be situations where none of the mentioned solutions can be used for various reason, i.e. financial costs. A common way to solve this problem is to map all printer connections from a specified print server using administrative credentials during the initial setup of each RDS server. This solves the problem, but it can be time consuming as all printers that uses the same driver is being installed. Even though the driver is already installed on the local computer, it takes some time to process each printer connection.</p>
<p>I recently faced this challenge, as the installation of all printer connections from a few specified print servers took 30-40 minutes using a legacy script. I then wrote an advanced function in PowerShell to make the procedure more effective. This was accomplished by installing a printer connection only for unique printer drivers.<br />
An example: A print server has 500 shared printer objects, while there is only 10 unique printer drivers. It would make more sense to add a printer connection (in order to install the driver) to 10 printer objects rather than 500, given the time consumed by installing a printer connection.</p>
<p>The function is available for download from <a href="http://gallery.technet.microsoft.com/scriptcenter/1c8f4c0d-9439-4af0-8840-59686d9b4bc1">here</a>.</p>
<p>Sample usage and output:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/07/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2011/07/image_thumb.png?w=653&#038;h=89" alt="image" width="653" height="89" border="0" /></a></p>
<p>&nbsp;</p>
<p><a href="http://janegilring.files.wordpress.com/2011/07/image1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2011/07/image_thumb1.png?w=651&#038;h=125" alt="image" width="651" height="125" border="0" /></a></p>
<p>There is a switch option added to the function called Clean. If this parameter is specified the function will also remove all mapped printer connections for the current user.</p>
<p>The function doesn&#8217;t`t provide any log options. However, it produces PowerShell objects, so it would be easy to pipe the output to a file.<br />
An example on how to export the output objects to a csv-file:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/07/image2.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2011/07/image_thumb2.png?w=653&#038;h=54" alt="image" width="653" height="54" border="0" /></a></p>
<p>But what about printer drivers added to the print servers after the function is run on an RDS server? One way to solve this could be adding the PowerShell function to a script-file which is set up as a scheduled task to run i.e. once a day on every RDS server.  If the scheduled task is <a href="http://technet.microsoft.com/en-us/library/cc725745.aspx">set up using Group Policy Preferences</a>, it will be automatically created on every new RDS server that is added later on. Beside scheduling the task to run at specified intervals, the print server administrator may also invoke the scheduled task remotely on every RDS server whenever a new print driver is added to a print server. The details on how to do this is previously described in <a href="http://blog.powershell.no/2010/06/25/manage-windows-update-installations-using-windows-powershell/">this</a> blog-post.</p>
<p>Since the function might be run several times on the same computer, it also checks if the driver to be installed is already in place on the local computer. This means that after the first run, only printer drivers added to the print server after the first run is actually installed. This makes the script more effective, and depending on the number of shared printer objects on the specified print server, it shouldn&#8217;t`t run for many seconds.</p>
<p>Coming back to the before mentioned example (~600 printer objects, ~50 unique drivers) where it took 30-40 minutes to install printer drivers from a print server, when using the Add-PrinterDriver PowerShell function the execution ran for 4 minutes. After the first run, subsequent executions ran for  20 seconds.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/janegilring.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/janegilring.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/874/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=874&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2011/07/03/adding-printer-drivers-from-a-print-server-using-windows-powershell/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/2011/07/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

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

		<media:content url="http://janegilring.files.wordpress.com/2011/07/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Enable Persistent Mode for Cluster Resource Groups using the PowerShell Failover Clustering module</title>
		<link>http://blog.powershell.no/2011/06/03/enable-persistent-mode-for-cluster-resource-groups-using-the-powershell-failover-clustering-module/</link>
		<comments>http://blog.powershell.no/2011/06/03/enable-persistent-mode-for-cluster-resource-groups-using-the-powershell-failover-clustering-module/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 12:36:41 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Failover Clustering]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Hyper-V R2]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Enable Persistent Mode]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2011/06/03/enable-persistent-mode-for-cluster-resource-groups-using-the-powershell-failover-clustering-module/</guid>
		<description><![CDATA[In Failover Clustering in Windows Server 2008 R2, Persistent Mode is intended to allow resource groups to come online on the node which an admin last moved them to. This setting is enabled by default when a virtual machine is created with Failover Cluster Manager. If you create virtual machine via System Center Virtual Manager [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=861&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In Failover Clustering in Windows Server 2008 R2, Persistent Mode is intended to allow resource groups to come online on the node which an admin last moved them to. This setting is enabled by default when a virtual machine is created with Failover Cluster Manager. If you create virtual machine via System Center Virtual Manager this setting is not enabled.</p>
<blockquote><p><em>By default, cluster roles have this setting disabled, except for Hyper-V virtual machine cluster roles, which have this enabled by default. This setting is useful when the cluster is shutdown and later started, in order to better distribute the resources across the nodes and allow them to come online faster, as they were likely spread across the nodes before the cluster was offlined. Otherwise, all the resources will attempt to restart on the first nodes which achieve quorum and compete for resources. This only applies to a group if it did not failover after being placed by the administrator. If a group has failed over since the last administrator placement, it is brought online on the node which the administrator last move it to.</em></p></blockquote>
<p>Reference and more info regarding the Auto Start, Persistent Mode and Group Wait Delay features is available on the <a href="http://blogs.msdn.com/b/clustering/archive/2009/08/11/9864574.aspx">Clustering and High-Availability blog</a>.</p>
<p>Auto Start can be enabled/disabled in bulk by marking all Cluster Resource Groups in Failover Cluster Manager and selecting “Enable auto start”/”Disable auto start”.</p>
<p>For Persistent Mode the only available option in Failover Cluster Manager is to right click each Cluster Resource Group and selecting/de-selecting the checkbox for “Enable persistent mode”:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/06/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" src="http://janegilring.files.wordpress.com/2011/06/image_thumb.png?w=244&#038;h=209" alt="image" width="244" height="209" border="0" /></a></p>
<p>To change this setting for all Cluster Resource Groups in an automated fashion you can use the <a href="http://technet.microsoft.com/en-us/library/ee461009.aspx">Failover Cluster module for PowerShell</a>, which I wrote an introduction to <a href="http://blog.powershell.no/2010/11/28/get-started-with-the-failover-clustering-powershell-module/">here</a>.</p>
<p>Here is an example on how you can do this:</p>
<div style="width:750px;overflow:auto;border:black 1px solid;padding:5px;">
<table border="0" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td valign="top">
<div style="background:#cecece;padding:5px;"><span style="font-family:Consolas;"><span style="color:#000000;">001<br />
002<br />
003<br />
004<br />
005<br />
006<br />
007</span></span></div>
</td>
<td valign="top" nowrap="nowrap">
<div style="background:#fcfcfc;padding:5px;"><span style="font-family:Consolas;"><span style="font-family:Consolas;"><span style="color:#0000ff;">Import-Module</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">FailoverClusters</span><br />
<span style="color:#ff0000;">$clustergroups</span><span style="color:#000000;"> </span><span style="color:#a9a9a9;">=</span><span style="color:#000000;"> </span><span style="color:#0000ff;">Get-ClusterGroup</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Cluster</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">cluster01.domain.local</span></span></span></div>
<div style="background:#fcfcfc;padding:5px;"><span style="color:#00008b;">foreach</span><span style="color:#000000;"> (</span><span style="color:#ff0000;">$clustergroup</span><span style="color:#000000;"> </span><span style="color:#00008b;">in</span><span style="color:#000000;"> </span><span style="color:#ff0000;">$clustergroups</span><span style="color:#000000;">) {</span><br />
<span style="color:#006400;">#To enable persistent mode: x To disable persistent mode: 4294967295</span><br />
<span style="color:#ff0000;">$clustergroup</span><span style="color:#a9a9a9;">.</span><span style="color:#000000;">DefaultOwner</span><span style="color:#a9a9a9;">=x</span><br />
<span style="color:#000000;">} </span></div>
</td>
</tr>
</tbody>
</table>
</div>
<p>Although you can change the Auto Start setting in bulk in Failover Cluster Manager you might also want to do this in an automated fashion:</p>
<div style="width:750px;overflow:auto;border:black 1px solid;padding:5px;">
<table border="0" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td valign="top">
<div style="background:#cecece;padding:5px;"><span style="font-family:Consolas;"><span style="color:#000000;">001<br />
002<br />
003<br />
004<br />
005<br />
006<br />
007</span></span></div>
</td>
<td valign="top" nowrap="nowrap">
<div style="background:#fcfcfc;padding:5px;"><span style="font-family:Consolas;"><span style="font-family:Consolas;"><span style="color:#0000ff;">Import-Module</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">FailoverClusters</span><br />
<span style="color:#ff0000;">$clustergroups</span><span style="color:#000000;"> </span><span style="color:#a9a9a9;">=</span><span style="color:#000000;"> </span><span style="color:#0000ff;">Get-ClusterGroup</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Cluster</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">cluster01.domain.local</span></span></span><span style="color:#00008b;">foreach</span><span style="color:#000000;"> (</span><span style="color:#ff0000;">$clustergroup</span><span style="color:#000000;"> </span><span style="color:#00008b;">in</span><span style="color:#000000;"> </span><span style="color:#ff0000;">$clustergroups</span><span style="color:#000000;">) {</span><br />
<span style="color:#006400;">#To enable Auto Start: 1 To disable Auto Start: 0</span><br />
<span style="color:#ff0000;">$clustergroup</span><span style="color:#a9a9a9;">.</span><span style="color:#000000;">Priority</span><span style="color:#a9a9a9;">=1</span><br />
<span style="color:#000000;">} </span></div>
</td>
</tr>
</tbody>
</table>
</div>
<p>You can also change the Group Wait Delay cluster-wide property from the PowerShell Failover Clustering module, how to do this is explained in the above referenced blog-post from the Clustering and High-Availability blog.</p>
<p>For the next version of System Center Virtual Machine Manager I would expect that Persistent Mode is enabled by default, since Microsoft do recommend customers to enable this setting.</p>
<p>Update 08.12.2011: The value of the DefaultOwner property for configuring Persistent Mode is the number of the node you want to be the default owner. In example a value of 1 means the first node in the cluster.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/janegilring.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/janegilring.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/861/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=861&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2011/06/03/enable-persistent-mode-for-cluster-resource-groups-using-the-powershell-failover-clustering-module/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>

		<media:content url="http://janegilring.files.wordpress.com/2011/06/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Administering Active Directory Rights Management Services using Windows PowerShell</title>
		<link>http://blog.powershell.no/2011/04/10/administering-active-directory-rights-management-services-using-windows-powershell/</link>
		<comments>http://blog.powershell.no/2011/04/10/administering-active-directory-rights-management-services-using-windows-powershell/#comments</comments>
		<pubDate>Sun, 10 Apr 2011 17:24:04 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Active Directory Rights Management Services]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[AD RMS]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2011/04/10/administering-active-directory-rights-management-services-using-windows-powershell/</guid>
		<description><![CDATA[Starting with Windows Server 2008 R2, Active Directory Rights Management Services (AD RMS) can be installed and administered using Windows PowerShell. The PowerShell support in AD RMS is divided into two PowerShell modules: ADRMS – Deployment module ADRMSAdmin – Administration module On a Windows Server 2008 R2 server with the AD RMS server role installed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=823&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Starting with Windows Server 2008 R2, <a href="http://www.microsoft.com/windowsserver2008/en/us/ad-rms-overview.aspx">Active Directory Rights Management Services</a> (AD RMS) can be installed and administered using Windows PowerShell.     <br />The PowerShell support in AD RMS is divided into two PowerShell modules:</p>
<ul>
<li>ADRMS – Deployment module </li>
<li>ADRMSAdmin – Administration module </li>
</ul>
<p>On a Windows Server 2008 R2 server with the AD RMS server role installed we can see the modules using Get-Module –ListAvailable:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/04/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2011/04/image_thumb.png?w=366&#038;h=81" width="366" height="81" /></a></p>
<p>&#160;</p>
<p>The AD RMS configuration is exposed through a PowerShell Provider, which we can see using Get-PSProvider after the RMS-modules are imported:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/04/image1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2011/04/image_thumb1.png?w=570&#038;h=187" width="570" height="187" /></a></p>
<p>Before we can use any of the cmdlets exposed through the AD RMS modules we need to create a PSDrive using the AD RMS PowerShell Providers. In the following example we`re creating a new PSDrive for the AD RMS Administration module, where we specify the PSProvider to use as well as the URL to the AD RMS cluster:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/04/image2.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2011/04/image_thumb2.png?w=697&#038;h=225" width="697" height="225" /></a></p>
<p>When a PSDrive is set up we can navigate to the PSDrive using cd (alias for Set-Location), and access the different configuration properties. The available containers we can see are similar to what is available in the Graphical User Interface for managing AD RMS:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/04/image3.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2011/04/image_thumb3.png?w=244&#038;h=130" width="244" height="130" /></a></p>
<p>As an example we can we and edit the SuperUser configuration:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/04/image4.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2011/04/image_thumb4.png?w=696&#038;h=134" width="696" height="134" /></a></p>
<p>&#160;</p>
<p>Next we can have a look at the available cmdlets in the AD RMS Administration module by using Get-Command –Module ADRMSAdmin:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/04/image5.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2011/04/image_thumb5.png?w=694&#038;h=251" width="694" height="251" /></a></p>
<p>Note that 5 new cmdlets was added to the AD RMS Administration module in Windows Server 2008 R2 SP1, due to added functionality to support Microsoft Federation Gateway.</p>
<p>Let`s try the Get-RmsSystemHealth cmdlet:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/04/image6.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2011/04/image_thumb6.png?w=691&#038;h=116" width="691" height="116" /></a></p>
<p>Notice that the –Path parameter is required, and needs to be pointed at the PSDrive we created earlier.</p>
<p>The same concepts as we`ve looked at for the AD RMS Administration module is the same for the AD RMS Deployment module:</p>
<p><a href="http://janegilring.files.wordpress.com/2011/04/image7.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2011/04/image_thumb7.png?w=686&#038;h=258" width="686" height="258" /></a></p>
<p>We need to create a PSDrive where the AD RMS Cluster configuration are set before we can use the three cmdlets available for installing, uninstalling or updating the AD RMS deployment.</p>
<p>&#160;</p>
<p>For further reference, the AD RMS PowerShell support are well documented on Microsoft TechNet:</p>
<p><a href="http://technet.microsoft.com/en-us/library/ee221099(WS.10).aspx">Using Windows PowerShell to Deploy AD RMS</a></p>
<p><a href="http://technet.microsoft.com/en-us/library/ee221069(WS.10).aspx">AD RMS Deployment Cmdlets</a></p>
<p><a href="http://technet.microsoft.com/en-us/library/ee221079(WS.10).aspx">Using Windows PowerShell to Administer AD RMS</a></p>
<p><a href="http://technet.microsoft.com/en-us/library/ee221051(WS.10).aspx">AD RMS Administration Cmdlets</a></p>
<p><a href="http://technet.microsoft.com/en-us/library/cc771234(WS.10).aspx">Active Directory Rights Management Services on Windows Server TechCenter</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/823/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/823/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/823/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/823/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/janegilring.wordpress.com/823/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/823/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/823/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/janegilring.wordpress.com/823/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/823/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/823/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/823/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/823/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/823/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/823/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=823&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2011/04/10/administering-active-directory-rights-management-services-using-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/2011/04/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

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

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

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

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

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

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

		<media:content url="http://janegilring.files.wordpress.com/2011/04/image_thumb7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>DFS-R Health Report for SYSVOL</title>
		<link>http://blog.powershell.no/2010/12/30/dfs-r-health-report-for-sysvol/</link>
		<comments>http://blog.powershell.no/2010/12/30/dfs-r-health-report-for-sysvol/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 11:44:02 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Active Directory management]]></category>
		<category><![CDATA[DFS-R]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[dfs-r health report]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2010/12/30/dfs-r-health-report-for-sysvol/</guid>
		<description><![CDATA[Distributed File System Replication (DFS-R) was introduced as a replacement for File Replication Service (FRS) in Windows Server 2008, and was further enhanced in Windows Server 2008 R2. When your domain functional level are set to Windows Server 2008, you have the option to migrate SYSVOL-replication from the deprecated FRS to the new and more [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=742&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://technet.microsoft.com/en-us/library/cc753479(WS.10).aspx" target="_blank">Distributed File System Replication</a> (DFS-R) was introduced as a replacement for File Replication Service (FRS) in Windows Server 2008, and was further <a href="http://technet.microsoft.com/en-us/library/ee307957(WS.10).aspx" target="_blank">enhanced</a> in Windows Server 2008 R2. When your domain functional level are set to Windows Server 2008, you have the option to migrate SYSVOL-replication from the deprecated FRS to the new and more reliable DFS-R service. A major advantage of using DFS-R over FRS is that FRS copies the whole file when a change are made, while DFS-R only copies the changed bits. This and further details are discussed <a href="http://blogs.technet.com/b/notesfromthefield/archive/2008/04/27/upgrading-your-sysvol-to-dfs-r-replication.aspx" target="_blank">here</a>. I`ve also included some links in the resource section below on how to perform an FRS to DFS-R migration.</p>
<p>Included in the Windows Server 2008 and Windows Server 2008 R2 are the DFS Management-console as well as several command-line tools for administering DFS. A great built-in feature in these tools is the diagnostic reports.</p>
<p>This is available in the DFS Management-console:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/12/image3.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/12/image_thumb3.png?w=244&#038;h=70" border="0" alt="image" width="244" height="70" /></a></p>
<p>As well as from the DfsrAdmin.exe command-line tool:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/12/image4.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/12/image_thumb4.png?w=239&#038;h=244" border="0" alt="image" width="239" height="244" /></a></p>
<p>Using this feature we can generate an HTML-report containing a great overview of the replication health for the SYSVOL replication group:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/12/image5.png"><img style="padding-top:0;padding-right:0;padding-left:0;display:inline;background-image:none;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/12/image_thumb5.png?w=325&#038;h=84" border="0" alt="image" width="325" height="84" /></a></p>
<p>Any errors and warnings will be shown with detailed explanations. In addition we can view general information and statistics i.e. regarding free diskspace on the domain controllers, bandwith savings and so on (click on the thumbnail to view):</p>
<p><a href="http://janegilring.files.wordpress.com/2010/12/image6.png"><img style="padding-top:0;padding-right:0;padding-left:0;display:inline;background-image:none;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/12/image_thumb6.png?w=331&#038;h=123" border="0" alt="image" width="331" height="123" /></a></p>
<p>Since the reporting feature are available from the DfsrAdmin.exe command-line tool, it makes it easy to set up a script as a scheduled task that also sends the generated report via e-mail i.e. every morning. I`ve published a simple PowerShell-script to accomplish this which is available <a href="http://gallery.technet.microsoft.com/scriptcenter/en-us/10ca8b47-b0ec-4910-bdd7-52ce2d4bca41">here</a>.</p>
<p><strong><span style="font-size:small;">Resources</span></strong></p>
<p><a href="http://technet.microsoft.com/en-us/library/dd640019(WS.10).aspx" target="_blank">SYSVOL Replication Migration Guide: FRS to DFS Replication</a> (Word-version available <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=df8e5e84-c6c6-4cef-9dab-304c92299804" target="_blank">here</a>)</p>
<p><a href="http://blogs.technet.com/askds/archive/2008/05/22/verifying-file-replication-during-the-windows-server-2008-dfsr-sysvol-migration-down-and-dirty-style.aspx" target="_blank">Verifying File Replication during the Windows Server 2008 DFSR SYSVOL Migration</a></p>
<p><a href="http://blogs.technet.com/askds/archive/2009/01/05/dfsr-sysvol-migration-faq-useful-trivia-that-may-save-your-follicles.aspx" target="_blank">DFSR SYSVOL Migration FAQ</a></p>
<p><a href="http://blogs.technet.com/b/askds/archive/2009/07/16/configuring-dfsr-to-a-static-port-the-rest-of-the-story.aspx" target="_blank">Configuring DFSR to a Static Port</a></p>
<p><a href="http://blogs.technet.com/b/askds/archive/2010/05/27/frs-to-dfsr-migration-tool-released.aspx" target="_blank">FRS to DFSR Migration Tool</a> (not for SYSVOL migration)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/janegilring.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/janegilring.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/742/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=742&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/12/30/dfs-r-health-report-for-sysvol/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>

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

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

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

		<media:content url="http://janegilring.files.wordpress.com/2010/12/image_thumb6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Get started with the Failover Clustering PowerShell-module</title>
		<link>http://blog.powershell.no/2010/11/28/get-started-with-the-failover-clustering-powershell-module/</link>
		<comments>http://blog.powershell.no/2010/11/28/get-started-with-the-failover-clustering-powershell-module/#comments</comments>
		<pubDate>Sun, 28 Nov 2010 18:31:55 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Failover Clustering]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[failover clustering windows powershell]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2010/11/28/get-started-with-the-failover-clustering-powershell-module/</guid>
		<description><![CDATA[In Windows Server 2008 R2 the Failover Clustering feature contains a Windows PowerShell-module for administering Failover Clusters. This module replaces the old cluster.exe tool which existed in previous versions of Windows Server. The cmdlets in the Failover Clustering module for PowerShell are well documented on Microsoft TechNet: “Using Windows PowerShell Cmdlets on Failover Clusters in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=711&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In Windows Server 2008 R2 the Failover Clustering feature contains a Windows PowerShell-module for administering Failover Clusters. This module replaces the old cluster.exe tool which existed in previous versions of Windows Server.</p>
<p>The cmdlets in the Failover Clustering module for PowerShell are well documented on Microsoft TechNet: “<a href="http://technet.microsoft.com/en-us/library/ee619751(WS.10).aspx" target="_blank">Using Windows PowerShell Cmdlets on Failover Clusters in Windows Server 2008 R2</a>”.</p>
<p>There is also a guide on “<a href="http://technet.microsoft.com/en-us/library/ee619744(WS.10).aspx" target="_blank">Mapping Cluster.exe Commands to Windows PowerShell Cmdlets for Failover Clusters</a>”, which a member of the File Server team at Microsoft, Jose Barreto, has posted additional details on in a <a href="http://blogs.technet.com/b/josebda/archive/2010/09/25/mapping-cluster-exe-commands-to-windows-powershell-cmdlets-for-failover-clusters-extended-edition.aspx" target="_blank">blog-post</a>.</p>
<p>I recently created two new Failover Cluster for Hyper-V, and leveraged the Failover Clustering PowerShell module. Here is a sample on how easy it is to accomplish this:</p>
<div style="width:750px;overflow:auto;border:black 1px solid;padding:5px;">
<table border="0" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td valign="top">
<div style="background:#cecece;padding:5px;"><span style="font-family:Consolas;"><span style="color:#000000;"> 001</p>
<p>002&nbsp;</p>
<p>003</p>
<p>004</p>
<p>005</p>
<p>006</p>
<p>007</p>
<p>008</p>
<p>009</p>
<p>010</p>
<p>011</p>
<p>012</p>
<p>013</p>
<p>014</p>
<p>015</p>
<p>016</p>
<p>017</p>
<p>018</p>
<p>019</p>
<p>020</p>
<p>021</p>
<p>022</p>
<p>023</p>
<p>024</p>
<p>025</p>
<p></span></span><span style="font-family:Consolas;"><span style="color:#000000;">026</span></span></p>
<p>&nbsp;</p>
</div>
</td>
<td valign="top">
<div style="background:#fcfcfc;padding:5px;"><span style="font-family:Consolas;"><span style="color:#006400;">#Import Server Manager module</span></p>
<p><span style="color:#0000ff;">Import-Module</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">ServerManager</span>&nbsp;</p>
<p><span style="color:#006400;"># Add Failover Cluster and Hyper-V (requires a reboot)</span></p>
<p><span style="color:#0000ff;">Add-WindowsFeature</span><span style="color:#000000;"> </span><span style="color:#8b0000;">&#8220;Failover-Clustering&#8221;</span><span style="color:#a9a9a9;">,</span><span style="color:#8b0000;">&#8220;Hyper-V&#8221;</span></p>
<p></span><span style="font-family:Consolas;"><span style="color:#006400;">#Configure networks in Hyper-V before moving on </span></span></p>
<p><span style="font-family:Consolas;"><span style="color:#006400;"> </span><span style="color:#006400;">#Import Failover Clustering module</span></p>
<p><span style="color:#0000ff;">Import-Module</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">FailoverClusters</span></p>
<p><span style="color:#006400;">#Create cluster validation report</span></p>
<p><span style="color:#0000ff;">Test-Cluster</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Node</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Node01</span><span style="color:#a9a9a9;">,</span><span style="color:#ff00ff;">Node02</span></p>
<p></span><span style="font-family:Consolas;"><span style="color:#006400;">#Inspect cluster validation report before moving on </span></span></p>
<p><span style="font-family:Consolas;"><span style="color:#006400;"> </span><span style="color:#006400;">#Create a new failover cluster</span></p>
<p><span style="color:#0000ff;">New-Cluster</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Name</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Cluster01</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Node</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Node01</span><span style="color:#a9a9a9;">,</span><span style="color:#ff00ff;">Node02</span><span style="color:#000000;"> </span><span style="color:#00008b;">-StaticAddress</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">10.10.10.10</span></p>
<p><span style="color:#006400;">#Inspect available cluster disks</span></p>
<p><span style="color:#0000ff;">Get-ClusterAvailableDisk</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Cluster</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Cluster01</span></p>
<p><span style="color:#006400;">#Add all available cluster disks</span></p>
<p><span style="color:#0000ff;">Get-ClusterAvailableDisk</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Cluster</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Cluster01</span><span style="color:#000000;"> </span><span style="color:#a9a9a9;">|</span><span style="color:#000000;"> </span><span style="color:#0000ff;">Add-ClusterDisk</span></p>
<p><span style="color:#006400;">#Configure cluster quorom</span></p>
<p><span style="color:#0000ff;">Set-ClusterQuorum</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Cluster</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Cluster01</span><span style="color:#000000;"> </span><span style="color:#00008b;">-NodeAndDiskMajority</span><span style="color:#000000;"> </span><span style="color:#8b0000;">&#8220;Cluster Disk 01&#8243;</span></p>
<p><span style="color:#006400;">#Enable Cluster Shared Volumes</span></p>
<p><span style="color:#000000;">(</span><span style="color:#0000ff;">Get-Cluster</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Name</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Cluster01</span><span style="color:#000000;">)</span><span style="color:#a9a9a9;">.</span><span style="color:#000000;">EnableSharedVolumes</span><span style="color:#a9a9a9;">=</span><span style="color:#8b0000;">&#8220;Enable/NoticeRead&#8221;</span></p>
<p><span style="color:#006400;">#Add Cluster Shared Volume</span></p>
<p><span style="color:#0000ff;">Add-ClusterSharedVolume</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Cluster</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Cluster01</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Name</span><span style="color:#000000;"> </span><span style="color:#8b0000;">&#8220;Cluster Disk 02&#8243;</span></p>
<p><span style="color:#006400;">#Make VM 01 Highly Available</span></p>
<p><span style="color:#0000ff;">Add-ClusterVirtualMachineRole</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Cluster</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Cluster01</span><span style="color:#000000;"> </span><span style="color:#00008b;">-VirtualMachine</span><span style="color:#000000;"> </span><span style="color:#8b0000;">&#8220;VM 01&#8243;</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Name</span><span style="color:#000000;"> </span><span style="color:#8b0000;">&#8220;VM 01&#8243;</span></p>
<p><span style="color:#006400;">#Test cluster failover on VM 01</span></p>
<p></span><span style="font-family:Consolas;"><span style="color:#0000ff;">Move-ClusterVirtualMachineRole</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Cluster</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Cluster01</span><span style="color:#000000;"> </span><span style="color:#8b0000;">&#8220;VM 01&#8243;</span><span style="color:#000000;"> </span><span style="color:#00008b;">-Node</span><span style="color:#000000;"> </span><span style="color:#ff00ff;">Node02</span><span style="color:#000000;"> </span></span></p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>Before running the commands in the example above, you must install the operating system and configure disks and networking for Failover Clusters according to the <a href="http://technet.microsoft.com/en-us/library/cc732488(WS.10).aspx" target="_blank">product documentation</a> on Microsoft TechNet. If you are using a Windows Server 2008 R2 Core edition, the <a href="http://coreconfig.codeplex.com" target="_blank">Core Configurator 2.0</a> might be handy if you`re not comfortable configuring IP-addresses and so on from the command line.</p>
<p><strong><br />
Additional resources</strong></p>
<p><a href="http://blogs.msdn.com/b/clustering/" target="_blank">Failover Clustering and Network Load Balancing Team Blog</a></p>
<p><a href="http://www.nullsession.com/2010/10/15/cluster-related-sessions-at-teched-berlin-2010/" target="_blank">Cluster Related Sessions at TechEd Berlin 2010</a></p>
<p><a href="http://www.nullsession.com/" target="_blank">Joachim Nässlander</a> (Cluster MVP)</p>
<p><a href="http://msmvps.com/blogs/jtoner/default.aspx" target="_blank">John Toner</a> (Cluster MVP)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/janegilring.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/janegilring.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/711/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=711&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/11/28/get-started-with-the-failover-clustering-powershell-module/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>
		<item>
		<title>Starting an RemoteApp through RD Web Access and RD Gateway fails with &#8220;The logon attempt failed&#8221;</title>
		<link>http://blog.powershell.no/2010/09/17/starting-an-remoteapp-through-rd-web-access-and-rd-gateway-fails-with-the-logon-attempt-failed/</link>
		<comments>http://blog.powershell.no/2010/09/17/starting-an-remoteapp-through-rd-web-access-and-rd-gateway-fails-with-the-logon-attempt-failed/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 17:23:26 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Remote Desktop Services]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[rd web access]]></category>
		<category><![CDATA[the logon attempt failed]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2010/09/17/starting-an-remoteapp-through-rd-web-access-and-rd-gateway-fails-with-the-logon-attempt-failed/</guid>
		<description><![CDATA[In Windows Server 2008 R2, it`s possible to use RD Web Access and RD Gateway for starting RemoteApp applications, using Single Sign-On (SSO). The Remote Desktop Services Team has a great article here on how to configure this setup. While troubleshooting a problem with the SSO-feature lately, we got an error message saying “The logon [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=638&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In Windows Server 2008 R2, it`s possible to use RD Web Access and RD Gateway for starting RemoteApp applications, using Single Sign-On (SSO).    <br />The Remote Desktop Services Team has a great article <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">here</a> on how to configure this setup.</p>
<p>While troubleshooting a problem with the SSO-feature lately, we got an error message saying “The logon attempt failed”.</p>
<p>The solution turned out to be rather simple. While the default logon page for RD Web Access indicates “Domain/user name” for the user name field, using only the user name works fine:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/09/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://janegilring.files.wordpress.com/2010/09/image_thumb.png?w=406&#038;h=273" width="406" height="273" /></a></p>
<p>&#160;</p>
<p>This works fine as long as your not using RD Gateway and SSO, then the error message mentioned will occur when trying to start a RemoteApp.    <br />When RD Gateway and SSO are being used, you <u>must</u> supply the domain as part of the user name (domain\ user name), else the SSO-feature will break.</p>
<p>I actually contacted Microsoft to clarify if it is possible to hardcode the domain name some way, and got the following answer:</p>
<p><em>I have taken time to discuss with our develop team. Please understand that there is no easy way to finish the task, because in RemoteApp mode RDP client ignores user name and domain name. We need to put a domain hint on the RD Web page. It is related to coding and design. If you want to request a feature or code change, you also can contact our Advisory Service by using the contact info published at &lt;</em><a href="http://support.microsoft.com/gp/advisoryservice"><em>http://support.microsoft.com/gp/advisoryservice</em></a><em>&gt;. </em></p>
<p>Hopefully this will be possible in future Service Packs or OS releases.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/janegilring.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/janegilring.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/638/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=638&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/09/17/starting-an-remoteapp-through-rd-web-access-and-rd-gateway-fails-with-the-logon-attempt-failed/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>

		<media:content url="http://janegilring.files.wordpress.com/2010/09/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Invoke Best Practices Analyzer on remote servers using PowerShell</title>
		<link>http://blog.powershell.no/2010/08/17/invoke-best-practices-analyzer-on-remote-servers-using-powershell/</link>
		<comments>http://blog.powershell.no/2010/08/17/invoke-best-practices-analyzer-on-remote-servers-using-powershell/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 10:31:32 +0000</pubDate>
		<dc:creator>Jan Egil Ring</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Windows PowerShell]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[powershell bpa]]></category>

		<guid isPermaLink="false">https://janegilring.wordpress.com/2010/08/17/invoke-best-practices-analyzer-on-remote-servers-using-powershell/</guid>
		<description><![CDATA[Best Practices Analyzer (BPA) is a management tool integrated in Windows Server 2008 R2 used to scan server roles according to Microsoft best practice guidelines. Included in the initial release for Windows Server 2008 R2 are the following BPA models: Active Directory Domain Services Active Directory Certificate Services Domain Name System (DNS) Server Remote Desktop [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=622&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Best Practices Analyzer (BPA) is a management tool integrated in Windows Server 2008 R2 used to scan server roles according to Microsoft best practice guidelines.</p>
<p>Included in the initial release for Windows Server 2008 R2 are the following BPA models:</p>
<ul>
<li>Active Directory Domain Services</li>
<li>Active Directory Certificate Services</li>
<li>Domain Name System (DNS) Server</li>
<li>Remote Desktop Services</li>
<li>Web Server (IIS)</li>
</ul>
<p>Since then several new BPA models are released and available both as separate downloads as well as through Windows Update:</p>
<ul>
<li><a href="http://support.microsoft.com/kb/981391" target="_blank">Active Directory Rights Management Services (AD RMS)</a></li>
<li><a href="http://support.microsoft.com/kb/981392" target="_blank">Application Server</a></li>
<li><a href="http://support.microsoft.com/kb/977236" target="_blank">DHCP</a></li>
<li><a href="http://support.microsoft.com/kb/981111" target="_blank">File Services</a></li>
<li><a href="http://support.microsoft.com/kb/977238" target="_blank">Hyper-V</a></li>
<li><a href="http://support.microsoft.com/kb/977239" target="_blank">Network Policy Server (NPS)</a></li>
<li><a href="http://support.microsoft.com/kb/981390" target="_blank">Windows Server Update Services (WSUS)</a></li>
</ul>
<p>At the time of this writing, a BPA model for 12 of 17 server roles in Windows Server 2008 R2 are available.<br />
The 5 that are not available are:</p>
<ul>
<li>Active Directory Federation Services (ADFS)</li>
<li>Active Directory Lightweight Directory Services (AD LDS)</li>
<li>Fax Server</li>
<li>Print and Document Services</li>
<li>Windows Deployment Services</li>
</ul>
<p>In Server Manager, a BPA summary are available for each installed server role that an BPA Model exists for:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image2.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb2.png?w=644&#038;h=132" border="0" alt="image" width="644" height="132" /></a></p>
<p>When looking at the properties for an item in BPA you get more information as well as a link to Microsoft TechNet where more information are available for the specific subject:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image3.png"><img class="wlDisabledImage" style="display:inline;border-width:0;margin:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb3.png?w=203&#038;h=244" border="0" alt="image" width="203" height="244" /></a></p>
<p>BPA are built as a PowerShell module, meaning that a PowerShell cmdlet (Invoke-BPAModel) are run in the background when you scan a server role from Server Manager:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image4.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb4.png?w=329&#038;h=75" border="0" alt="image" width="329" height="75" /></a></p>
<p>This is a great feature to examine if your server roles are configured according to Microsoft`s best practices, however, if you got many servers it will take some time to log on to each server and scan each server role. In addition you don`t get any centralized reporting this way.</p>
<p>Since BPA are based upon Windows PowerShell it`s possible to solve this using the BPA PowerShell module and PowerShell remoting:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image5.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb5.png?w=644&#038;h=90" border="0" alt="image" width="644" height="90" /></a></p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image6.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb6.png?w=644&#038;h=23" border="0" alt="image" width="644" height="23" /></a></p>
<p>I`ve created a sample script to accomplish this, named <a href="http://gallery.technet.microsoft.com/ScriptCenter/en-us/84d3e608-1404-4ee9-b5e2-24452ecc8b94">Invoke-BPAModeling</a>, with the following functionality:</p>
<ul>
<li>Invoke BPA for all available server roles on specified remote servers</li>
<li>E-mail reporting</li>
<li>File reporting to CSV and HTML</li>
</ul>
<p>You need to customize the initial variables on the top of the script. You can enable/disable reporting using these variables, as well as specify which servers to work against, SMTP server for e-mail reporting and paths to CSV/HTML reports.<br />
By default, only items with a severity of “Error” and “Warning” are reported. You can change this to also include “Informational” severities by configuring IncludeAllSeverities to true.<br />
On the server running the script from, the Active Directory module for PowerShell must be installed if you want to retrieve computer names from Active Directory. In the sample,  the script are configured to retrieve all computer accounts listed with Windows Server 2008 R2 as operating system.<br />
You might choose alternate methods, like importing the computer names from a csv-file.<br />
<span style="color:#ffffff;">.</span><br />
I would recommend that you approve the new BPA models mentioned at the beginning of this blog post in WSUS prior to running the script.<br />
The script requires that PowerShell remoting are <a href="http://blog.powershell.no/2010/03/04/enable-and-configure-windows-powershell-remoting-using-group-policy">enabled and configured</a> on the remote servers. Also note that there is a <a href="http://social.technet.microsoft.com/Forums/en-US/winservermanager/thread/95594bb7-da2d-4294-b008-1c2029b7403b/?prof=required">known issue</a> with the BPA module; When the PowerShell execution policy are set to any other than &#8220;Undefined&#8221; or &#8220;Unrestricted&#8221; , an error occurs. I`ll update this blog-post as soon as a fix are provided from Microsoft.</p>
<p>When the script executes, it displays the progress based upon the total number of computers running against:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image7.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb7.png?w=644&#038;h=92" border="0" alt="image" width="644" height="92" /></a></p>
<p>Sample e-mail report containing both CSV and HTML reports as attachment:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image8.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb8.png?w=644&#038;h=171" border="0" alt="image" width="644" height="171" /></a></p>
<p>Sample HTML-report:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image9.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb9.png?w=644&#038;h=296" border="0" alt="image" width="644" height="296" /></a></p>
<p>Sample CSV-report converted to an Excel spreadsheet:</p>
<p><a href="http://janegilring.files.wordpress.com/2010/08/image10.png"><img class="wlDisabledImage" style="display:inline;border-width:0;" title="image" src="http://janegilring.files.wordpress.com/2010/08/image_thumb10.png?w=644&#038;h=85" border="0" alt="image" width="644" height="85" /></a></p>
<p>Feel free to customize the script for your needs, as well as suggest improvements.</p>
<p><strong><span style="font-size:x-small;">Resources</span></strong></p>
<p><a href="http://technet.microsoft.com/en-us/library/dd392255(WS.10).aspx" target="_blank">Best Practices Analyzer on Microsoft TechNet</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/janegilring.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/janegilring.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/janegilring.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/janegilring.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/janegilring.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/janegilring.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/janegilring.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/janegilring.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/janegilring.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/janegilring.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/janegilring.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/janegilring.wordpress.com/622/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=622&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/08/17/invoke-best-practices-analyzer-on-remote-servers-using-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/08/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

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

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

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

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

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

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

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

		<media:content url="http://janegilring.files.wordpress.com/2010/08/image_thumb10.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<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&amp;blog=5892504&amp;post=535&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="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/gofacebook/janegilring.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/535/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/535/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=5892504&amp;post=535&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/06/30/manage-rds-remoteapp-with-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_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&amp;blog=5892504&amp;post=506&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="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/2386" target="_blank">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></strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><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 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><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>
<p>&nbsp;</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/gofacebook/janegilring.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/506/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=5892504&amp;post=506&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="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>11</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[Remote Desktop Services]]></category>
		<category><![CDATA[Remote Management]]></category>
		<category><![CDATA[RSAT]]></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 the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.powershell.no&amp;blog=5892504&amp;post=501&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<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://gallery.technet.microsoft.com/scriptcenter/en-us/49e6ef43-4ffe-4498-b17f-d7f782e11830">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/gofacebook/janegilring.wordpress.com/501/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/janegilring.wordpress.com/501/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/janegilring.wordpress.com/501/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/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&amp;blog=5892504&amp;post=501&amp;subd=janegilring&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.powershell.no/2010/06/02/dynamic-remote-desktop-connection-manager-connection-list/feed/</wfw:commentRss>
		<slash:comments>18</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>
	</channel>
</rss>
