<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Group Policy Team Blog</title><link>http://blogs.technet.com/b/grouppolicy/</link><description>Microsoft&amp;#39;s official Group Policy blog</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Group Policy Deployment: Core Network Companion Guide</title><link>http://blogs.technet.com/b/grouppolicy/archive/2012/12/18/group-policy-deployment-core-network-companion-guide.aspx</link><pubDate>Tue, 18 Dec 2012 23:33:24 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3541637</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3541637</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2012/12/18/group-policy-deployment-core-network-companion-guide.aspx#comments</comments><description>&lt;p&gt;We have a new document in our technet library. The Core Network Companion Guide has a section specifically about &lt;a href="http://technet.microsoft.com/en-us/library/jj899807.aspx"&gt;Group Policy Deployment&lt;/a&gt;. Check it out! Or just take a look at James McIllece’s &lt;a href="http://blogs.technet.com/b/wsnetdoc/archive/2012/12/13/fresh-on-the-web-and-download-center-windows-server-2012-core-network-companion-guide-group-policy-deployment.aspx"&gt;blog post summarizing the deployment guide companion&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3541637" width="1" height="1"&gt;</description></item><item><title>Listing Disabled GPOs in a Forest</title><link>http://blogs.technet.com/b/grouppolicy/archive/2012/12/11/listing-disabled-gpos-in-a-forest.aspx</link><pubDate>Tue, 11 Dec 2012 17:05:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3533815</guid><dc:creator>GPTeam</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3533815</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2012/12/11/listing-disabled-gpos-in-a-forest.aspx#comments</comments><description>&lt;p&gt;This blog post is written by Judith, our technical writer, and based on an old blog post by Jeffrey Snover. (&lt;a href="http://blogs.msdn.com/b/powershell/archive/2007/01/11/sorting-out-groupby.aspx"&gt;http://blogs.msdn.com/b/powershell/archive/2007/01/11/sorting-out-groupby.aspx&lt;/a&gt;) Jeffrey wrote a piece that showed how to sort system services with the Format-Table (ft) cmdlet and the –GroupBy parameter.&lt;/p&gt;  &lt;p&gt;This is one of those tidbits that when I come across them I wonder how I can use this for making it easier to create Group Policy reports. So, here’s what I’m thinking:&lt;/p&gt;  &lt;p&gt;If you administer Group Policy in a somewhat large enterprise then you’ve probably got hundreds, if not thousands, of GPOs to deal with. &lt;/p&gt;  &lt;p&gt;If you’re like me, I used to grab a listing of GPOs, throw the listing into Excel and start playing games with the data. Well, what if you could pretty quickly grab GPO data on the fly and play some games with it?&lt;/p&gt;  &lt;p&gt;More importantly, what if you could grab GPO data on the fly, not just for a single domain, but for your whole forest? But wait, you say. We already did that. Actually, I already wrote a blog post on how to list all the GPOs for a forest. And if you haven’t read that, you can find it here: &lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2011/06/10/listing-all-gpos-in-the-current-forest.aspx"&gt;http://blogs.technet.com/b/grouppolicy/archive/2011/06/10/listing-all-gpos-in-the-current-forest.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;But what if you could look for all the GPOs in your entire forest and list them based on the GPO status? In other words, &lt;b&gt;list all GPOs in a forest with the disabled or partially disabled GPOs grouped separately&lt;/b&gt;. And you can do this in a single line of Windows PowerShell. Would you find that interesting? If you agree that this would be helpful then read on.&lt;/p&gt;  &lt;p&gt;Jeffrey in his blog post explained that the Format-Table cmdlet has a parameter –GroupBy that tells Format-Table to generate a series of tables instead of one big table. These tables will be based on the –GroupBy parameter.&lt;/p&gt;  &lt;p&gt;Big note here. Before we get into the guts of the blog post, you need to remember to import both the Group Policy and Active Directory modules before running these cmdlets. In other words, GPMC is installed on server or client and Active Directory role is installed on server or AD tools are installed on client. Then from the Windows PowerShell command prompt, I need to run these two commands at the start of my session:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Import-Module ActiveDirectory&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Import-Module GroupPolicy&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;I still have my little test domain called, &lt;b&gt;corp.Contoso.com&lt;/b&gt;, with a child domain of &lt;b&gt;HQ.corp.Contoso.com. &lt;/b&gt;And I can very easily use the &lt;b&gt;Get-GPO&lt;/b&gt; cmdlet with the &lt;b&gt;–all&lt;/b&gt; parameter to see all the GPOs in the entire forest with the following command:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;(get-ADForest).domains | foreach { get-GPO -all -Domain $_ }&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This will display all the GPO information, but it will come as the GPOs are read from each domain. &lt;/p&gt;  &lt;p&gt;Now, it becomes clear why I started this blog mentioning Jeffrey Snover’s blog post about sorting a table using the –GroupBy parameter. I want to see all the GPO information grouped by the status of each GPO. What happens if I add &lt;b&gt;Format-Table&lt;/b&gt; (with alias of &lt;b&gt;ft&lt;/b&gt;) using the &lt;b&gt;–GroupBy&lt;/b&gt; parameter to the end of my previous command line?&lt;/p&gt;  &lt;p&gt;&lt;b&gt;(get-ADForest).domains | foreach { get-GPO -all -Domain $_ } | Format-Table -GroupBy GpoStatus&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This will group the GPOs, but not quite as I expected. Instead of one table for AllSettingsEnabled, another for AllSettingsDisabled, etc., I seem to be getting clumps of GPOs based on status. You can see that in this partial display.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/5684.clip_5F00_image002_5F00_7B6C15F8.jpg"&gt;&lt;img title="clip_image002" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/0878.clip_5F00_image002_5F00_thumb_5F00_0D48A9C6.jpg" width="662" height="432" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There’s a technical reason that Jeffrey goes into in his blog post. But the short answer is that the Format-Table cmdlet processes the input as it comes to the cmdlet. There’s no place to hold the input in order to group all of the results together at once. Presorting the information in this case will get us what we really want.&lt;/p&gt;  &lt;p&gt;I want to make sure the GPO status is sorted first. Then it’s a toss-up of whether I want to see GPOs in alphabetical order based on the display name or an alphabetized list of GPOs first grouped by domain. For this example, I’m going to list the GPOs in alphabetical order within the GPO status groups. I’ll leave it up to you to play with changing the order of the sort to see what happens.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;(get-ADForest).domains | foreach { get-GPO -all -Domain $_ } | sort GpoStatus, DisplayName | Format-Table -GroupBy GpoStatus&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Now, we get what we wanted a series of tables that show GPOS based on status: AllSettingsDisabled, UserSettingsDisabled, ComputerSettingsDisabled, and AllSettingsEnabled. Much better.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/5277.clip_5F00_image004_5F00_6D2D9D08.jpg"&gt;&lt;img title="clip_image004" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image004" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/6747.clip_5F00_image004_5F00_thumb_5F00_7AFFE303.jpg" width="693" height="481" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;My only problem with this is I can’t see all the data because my screen isn’t wide enough. The other way of displaying all the data for GPOs worked better in this case. So, how can I group by GpoStatus, and get all my data?&lt;/p&gt;  &lt;p&gt;The answer is once again pretty simple. The &lt;b&gt;–GroupBy&lt;/b&gt; parameter also works for Format-List.&lt;/p&gt;  &lt;p&gt;Running the following command gives me the results I want:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;(get-ADForest).domains | foreach { get-GPO -all -Domain $_ } | sort GpoStatus, DisplayName | Format-List -GroupBy GpoStatus&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;You can try grouping by other things than GpoStatus. For example, you can DomainName, Owner, or WmiFilter. Or try sorting by CreationTime or ModificationTime. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3533815" width="1" height="1"&gt;</description></item><item><title>Group Policy in Windows Server 2012: Infrastructure Status</title><link>http://blogs.technet.com/b/grouppolicy/archive/2012/11/29/group-policy-in-windows-server-2012-infrastructure-status.aspx</link><pubDate>Thu, 29 Nov 2012 17:03:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3533814</guid><dc:creator>GPTeam</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3533814</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2012/11/29/group-policy-in-windows-server-2012-infrastructure-status.aspx#comments</comments><description>&lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;p&gt;You may be asking yourself, “What does infrastructure status have to do with Group Policy”. Well, group policy depends on other technologies to ensure that policy settings are replicated throughout your environment so that end users / computers will get the settings that you configure. &lt;/p&gt;  &lt;p&gt;And when you’ve run into problems you start wondering: did replication finish? Are there errors? And if there are, how am I supposed to see what errors have happened?&lt;/p&gt;  &lt;p&gt;Since you are a GP admin and not necessarily an AD/DFSR admin, you only want to know that all of the replication that is supposed to be happening for Group Policy Objects is happening. In Windows Server 2012 we have added a feature that will tell you just this. &lt;/p&gt;  &lt;p&gt;The feature is called Infrastructure Status and you can find it in the GPMC results pane for each domain object. Simply click the domain that you are interested in and in the result pane you will see a new tab labeled “Status”. This “status” tab will show the status of GPO replication (for both SYSVOL and AD) of &lt;b&gt;all GPOs&lt;/b&gt; across your entire domain. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/3718.IH1_5F00_3B4F361F.png"&gt;&lt;img title="IH1" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="IH1" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/4370.IH1_5F00_thumb_5F00_621D4C5F.png" width="559" height="497" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you suspect you have a replication problem with a single GPO, to speed up your troubleshooting, you can check the infrastructure health status for that GPO. To see the status, open the Group Policy Objects node and select the GPO listed under that node. &lt;/p&gt;  &lt;p&gt;Note: The infrastructure health status is not available when you click on GPO links displayed under the domain and OU nodes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/8512.ih2_5F00_42023FA2.png"&gt;&lt;img title="ih2" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="ih2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/7026.ih2_5F00_thumb_5F00_73F9E02C.png" width="511" height="460" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Initially, the Status tab will not have any information about replication status. Once you hit “detect now”, the GPMC contacts all domain controllers in your domain and collects information about Group Policy Object(s) from AD and SYSVOL. It uses a “baseline” domain controller to compare GPO information against GPO information from all other domain controllers. The baseline domain controller defaults to the DC that the GPMC is connected to but can be changed by clicking Change.&lt;/p&gt;  &lt;p&gt;The first level of information will show the number of domain controllers that have GPO information “In Synch” with the baseline domain controller and the number of domain controllers that have GPO information that is “In Progress”. Domain controllers that are “In Synch” have all of the same GPO information as the baseline DC. Domain controllers that are “In Progress” do not have all of the same GPO information as the baseline DC. This may mean that there is a problem with GPO replication but it also may mean that replication just has not converged yet. For those DCs that are “In Progress” additional details are provided which explain exactly what is not in sync. The following is the list of reasons a DC can be “In Progress”:   &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td width="76"&gt;           &lt;p&gt;&lt;b&gt;Active Directory&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="417"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;Accessibility&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the Active Directory service cannot be contacted on a domain controller, this message will be displayed. &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;GPO Version&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the GPO version information in AD is different than the baseline domain controller, this message will be displayed and details about the GPOs that are different can be seen by clicking the message.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;Number of GPOs&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the total number of GPOs in AD is different than the baseline domain controller, this message will be displayed and details about the number of GPOs that are different can be seen by clicking the message.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;Created Date&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the created date stored in AD for any GPO is different than the baseline domain controller, this message will be displayed and details about the GPOs with different dates from the baseline DC can be seen by clicking the message.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;Modified Date&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the modified date stored in AD for any GPO is different than the baseline domain controller, this message will be displayed and details about the GPOs with different dates can be seen by clicking the message.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;ACLs&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the Active Directory permissions on any GPO are different than the baseline domain controller, this message will be displayed and details about the GPOs with different permissions can be seen by clicking the message.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td width="76"&gt;           &lt;p&gt;&lt;b&gt;File System (SYSVOL)&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="417"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;Accessibility&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the SYSVOL folder cannot be contacted on a domain controller, this message will be displayed. &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;GPO Version&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the GPO version information in the GPT.ini file is different than the baseline domain controller, this message will be displayed and details about the GPOs that are different can be seen by clicking the message.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;Number of GPOs&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the total number of GPOs in SYSVOL is different than the baseline domain controller, this message will be displayed and details about the number of GPOs that are different can be seen by clicking the message.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;GPO Contents&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the content of SYSVOL for any GPO is different than the baseline domain controller, this message will be displayed and details about the GPOs with inconsistent contents can be seen by clicking the message. The content comparison is performed by creating a file hash for all files within each GPO folder on SYSVOL. The hash from the baseline DC is compared to the hash from each DC.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="76"&gt;&amp;#160;&lt;/td&gt;          &lt;td width="132"&gt;           &lt;p&gt;ACLs&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="417"&gt;           &lt;p&gt;If the SYSVOL permissions on any GPO are different than the baseline domain controller, this message will be displayed and details about the GPOs with different permissions can be seen by clicking the message.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;Within the details of each of the errors a link is provided to help you further investigate why the DC is not In Sync.&lt;/p&gt;  &lt;p&gt;Group Policy can be very difficult to troubleshoot and we hope that this feature allows you to find and resolve GP related replication issues more quickly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3533814" width="1" height="1"&gt;</description></item><item><title>Group Policy in Windows Server 2012: Results Report Improvements</title><link>http://blogs.technet.com/b/grouppolicy/archive/2012/11/28/group-policy-in-windows-server-2012-results-report-improvements.aspx</link><pubDate>Wed, 28 Nov 2012 17:02:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3533813</guid><dc:creator>GPTeam</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3533813</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2012/11/28/group-policy-in-windows-server-2012-results-report-improvements.aspx#comments</comments><description>&lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;p&gt;Another change we made in Windows Server 2012 is in the Resultant Set of Policy reports. In previous versions of Server, you had to look at the results report, and the event log, and the tracing logs to find all the information you needed about why policy did or did not apply. Now, we’ve consolidated most of that information right into the results report to make troubleshooting Group Policy easier. &lt;/p&gt;  &lt;p&gt;The biggest change we made is to the Summary section.&lt;/p&gt;  &lt;p&gt;Here’s what the summary section used to look like:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/7181.clip_5F00_image001_5F00_7D77F2D5.png"&gt;&lt;img title="clip_image001" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image001" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/3480.clip_5F00_image001_5F00_thumb_5F00_24460916.png" width="482" height="376" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And here’s what it looks like now:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/6136.clip_5F00_image003_5F00_1D26CC9E.jpg"&gt;&lt;img title="clip_image003" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image003" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/8255.clip_5F00_image003_5F00_thumb_5F00_681A3D6D.jpg" width="449" height="462" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you can see, we summarized important information that was previously difficult to find, like loopback mode, slow link detection, and GPOs with enforce (or have block inheritance enabled)&lt;/p&gt;  &lt;p&gt;We also added information to the computer/user details. Now we show how long client side extensions take to process, the last time an extension processed and detailed event log information from the latest pass of policy. &lt;/p&gt;  &lt;p&gt;We also added more detail to the report, including sorting information by GPO, showing where the GPOs were linked, and reporting on modifiers like “enforced” or “disabled”.   &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/3487.clip_5F00_image005_5F00_47FF30B0.jpg"&gt;&lt;img title="clip_image005" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image005" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/6840.clip_5F00_image005_5F00_thumb_5F00_3CD5A666.jpg" width="581" height="343" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;How you run the GP results report hasn’t changed. If you choose to run it from the GPMC against a remote client, the client needs the following firewall ports opened:&lt;/p&gt;  &lt;p&gt;· Remote Event Log Management (NP-In)&lt;/p&gt;  &lt;p&gt;· Remote Event Log Management (RPC)&lt;/p&gt;  &lt;p&gt;· Remote Event Log Management (RPC_EPMAP)&lt;/p&gt;  &lt;p&gt;· Windows Management Instrumentation (WMI-In)&lt;/p&gt;  &lt;p&gt;Running it this way against a downlevel client still gets you the new format and most of the new information.&lt;/p&gt;  &lt;p&gt;The command line GP results functionality still works. You can run gpresult.exe /h out.html on a client machine to have the report created as out.html. However, this will only get you the new format and information when it’s run on a Windows “8” machine. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3533813" width="1" height="1"&gt;</description></item><item><title>Group Policy in Windows Server 2012: Using Remote GPUpdate</title><link>http://blogs.technet.com/b/grouppolicy/archive/2012/11/27/group-policy-in-windows-server-2012-using-remote-gpupdate.aspx</link><pubDate>Tue, 27 Nov 2012 17:01:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3533811</guid><dc:creator>GPTeam</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3533811</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2012/11/27/group-policy-in-windows-server-2012-using-remote-gpupdate.aspx#comments</comments><description>&lt;h3&gt;Group Policy in Windows Server 2012: Using Remote GPUpdate&lt;/h3&gt;  &lt;p&gt;If someone calls to say their computer doesn’t work quite right, the first thing you might have them do is run gpupdate /force to ensure they have the latest policy applied to their system. Now, you have the power to reach out and force a gpupdate without needing to be at the computer, remote in, or ask the user do it themselves. &lt;/p&gt;  &lt;p&gt;The way remote gpupdate works is this: It creates a task through task scheduler. The task will execute within the next 10 minutes, which runs the GPUpdate locally on the machine. This will work on Vista and beyond.&lt;/p&gt;  &lt;p&gt;Because this feature uses a remote connection, in order to use it you will need the following firewall rules enabled on clients. &lt;/p&gt;  &lt;p&gt;· Remote Scheduled Tasks Management (RPC)&lt;/p&gt;  &lt;p&gt;· Remote Scheduled Tasks Management (RPC-EPMAP)&lt;/p&gt;  &lt;p&gt;· Windows Management Instrumentation (WMI-In)&lt;/p&gt;  &lt;p&gt;Once you have these firewall rules applied to your clients, there are two ways you can invoke a remote Group Policy update.&lt;/p&gt;  &lt;h4&gt;Remote GP Update Wizard&lt;/h4&gt;  &lt;p&gt;From the GPMC, right click on an OU that contains computer objects. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/3323.clip_5F00_image0016_5F00_1CAF73B1.png"&gt;&lt;img title="clip_image001[6]" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image001[6]" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/5126.clip_5F00_image0016_5F00_thumb_5F00_2E8C077E.png" width="244" height="192" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click the “Group Policy Update” option. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/1007.clip_5F00_image0027_5F00_23627D34.png"&gt;&lt;img title="clip_image002[7]" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image002[7]" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/0412.clip_5F00_image0027_5F00_thumb_5F00_555A1DBE.png" width="244" height="158" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will run a gpupdate /force on all computers in the OU, and any subOUs. Computer policy will be refreshed for each computer, and user policy will be refreshed for any and all users currently logged into those computers.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/7357.clip_5F00_image0036_5F00_1C4340BC.png"&gt;&lt;img title="clip_image003[6]" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image003[6]" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/4214.clip_5F00_image0036_5F00_thumb_5F00_7C2833FE.png" width="244" height="203" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The “success” and “failure” headers indicate how many computers were contacted and had the event planted on the computer. It does &lt;b&gt;not&lt;/b&gt; indicate that those computers have already run gpupdate – just that they have successfully scheduled the update for some time in the next 10 minutes. In this case, I intentionally sabotaged one of my clients to demonstrate what failure looks like – you see an error code and a description, and you can “Save” your results to a .csv file to review what computers succeeded and did not succeed in receiving the task.&lt;/p&gt;  &lt;h4&gt;Powershell&lt;/h4&gt;  &lt;p&gt;The other option is to use Group Policy’s new PowerShell cmdlets. The Invoke-gpupdate cmdlet is part of the Group Policy Powershell Module that is installed when you install the Group Policy Management Feature on a machine. &lt;/p&gt;  &lt;p&gt;This cmdlet gives you more flexibility with how Group Policy is updated. You can use all of the gpupdate parameters you may be familiar with, plus you can use the new remote GP update functionality to target one computer – or write a script that targets many computers.&lt;/p&gt;  &lt;p&gt;An example of the most basic use of invoke-gpupdate:&lt;/p&gt;  &lt;p&gt;Import-module groupPolicy&lt;/p&gt;  &lt;p&gt;Invoke-gpupdate computername&lt;/p&gt;  &lt;p&gt;The completion of this cmdlet will put a task on the computer that will execute a gpupdate /force &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3533811" width="1" height="1"&gt;</description></item><item><title>Group Policy in Windows Server 2012: Overview</title><link>http://blogs.technet.com/b/grouppolicy/archive/2012/11/26/group-policy-in-windows-server-2012-overview.aspx</link><pubDate>Mon, 26 Nov 2012 17:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3533810</guid><dc:creator>GPTeam</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3533810</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2012/11/26/group-policy-in-windows-server-2012-overview.aspx#comments</comments><description>&lt;p&gt;Now that Windows 8 and Windows Server 2012 have been released, we’d like to share with you some of the exciting enhancements that we’ve added for Group Policy.&lt;/p&gt;  &lt;p&gt;While we hear plenty of great things from people who use Group Policy, we also hear complaints. By far the largest complaint we hear about Group Policy has to do with troubleshooting GP. Our main goal for Server 2012 was to improve the troubleshooting experience. &lt;/p&gt;  &lt;p&gt;We added 3 new features to make your life as a GP admin easier. In the next week we’ll detail each of these improvements in their own blog post, but for now here’s a quick overview.&lt;/p&gt;  &lt;p&gt;· Remote GP Update: Allow you to remotely update policy on one client computer or an entire OU, through the GPMC or through Powershell&lt;/p&gt;  &lt;p&gt;· GP Results Report improvements: We’ve changed the layout and added a bunch of new information to the results report, including relevant events, specific callouts for disabled user/computer sections, extension processing time, and more!&lt;/p&gt;  &lt;p&gt;· Infrastructure Status: We’ve made it easy to check in on replication status to make sure GPOs are propagating properly. &lt;/p&gt;  &lt;p&gt;If you just can’t wait to learn more, there’s additional documentation of new features here: &lt;a href="http://technet.microsoft.com/en-us/library/hh831791.aspx"&gt;http://technet.microsoft.com/en-us/library/hh831791.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3533810" width="1" height="1"&gt;</description></item><item><title>Group Policy Settings Reference Spreadsheet</title><link>http://blogs.technet.com/b/grouppolicy/archive/2012/09/24/group-policy-settings-reference-spreadsheet.aspx</link><pubDate>Tue, 25 Sep 2012 00:08:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3522236</guid><dc:creator>GPTeam</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3522236</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2012/09/24/group-policy-settings-reference-spreadsheet.aspx#comments</comments><description>&lt;p&gt;The Group Policy settings reference spreadsheet that covers&lt;br /&gt;the available administrative template settings and security settings for&lt;br /&gt;Windows Server 2012, Windows 8, and all earlier versions of Windows is now&lt;br /&gt;available in the download center here: &lt;a href="http://go.microsoft.com/fwlink/?LinkId=261775"&gt;http://go.microsoft.com/fwlink/?LinkId=261775&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New to This Spreadsheet&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The Administrative Template spreadsheet contains a new column:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Status: A "New" in this column means&lt;br /&gt;that the setting did not exist prior to Windows Server 2012 and Windows 8. It&lt;br /&gt;does not mean that the setting applies only to Windows Server 2012 and Windows&lt;br /&gt;8. Refer to the column entitled "supported on" to determine to which&lt;br /&gt;operating system the policy setting applies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To see the full description of what is contained in this&lt;br /&gt;latest version before downloading, go here: &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=25250"&gt;http://www.microsoft.com/download/en/details.aspx?id=25250&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3522236" width="1" height="1"&gt;</description></item><item><title>Windows Server “8” Settings Spreadsheet</title><link>http://blogs.technet.com/b/grouppolicy/archive/2012/04/16/windows-server-8-settings-spreadsheet.aspx</link><pubDate>Mon, 16 Apr 2012 16:50:38 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3492428</guid><dc:creator>GPTeam</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3492428</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2012/04/16/windows-server-8-settings-spreadsheet.aspx#comments</comments><description>&lt;p&gt;The latest Group Policy settings reference spreadsheet that covers the available administrative template settings and security settings for Windows Server “8” Beta, Windows 8 Consumer Preview and all earlier versions of Windows is now available in the download center here: &lt;a href="http://download.microsoft.com/download/8/F/B/8FBD2E85-8852-45EC-8465-92756EBD9365/WindowsServer8BetaandWindows8ConsumerPreviewGroupPolicySettings.xlsx"&gt;http://download.microsoft.com/download/8/F/B/8FBD2E85-8852-45EC-8465-92756EBD9365/WindowsServer8BetaandWindows8ConsumerPreviewGroupPolicySettings.xlsx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To see the description of what is contained in this latest version before downloading, go here: &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=25250"&gt;http://www.microsoft.com/download/en/details.aspx?id=25250&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3492428" width="1" height="1"&gt;</description></item><item><title>How to add comment for a GPO with PowerShell</title><link>http://blogs.technet.com/b/grouppolicy/archive/2011/07/13/how-to-add-comment-for-a-gpo-with-powershell.aspx</link><pubDate>Wed, 13 Jul 2011 23:26:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3441535</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3441535</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2011/07/13/how-to-add-comment-for-a-gpo-with-powershell.aspx#comments</comments><description>&lt;p&gt;You might have seen GP MVP Jeremy Moskowitz’s post on &lt;a href="http://www.gpanswers.com/blog/135-gpmc/696-group-policy-talk-is-cheap.html"&gt;how to recycle GPO comments&lt;/a&gt;. While Jeremy points out you can do this without a script…. You can also do it with a script! Our tech writer, Judith, walks us through the process:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;After I import the Group Policy module in PowerShell, I have access to the Get-GPO cmdlet. If I run that to create an object representing my test GPO:&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:823eb747-1005-46a5-96af-8a7c723020f2" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 576px; height: 245px;background-color:White;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000;"&gt;PS C:\ &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;$testGPO&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; Get&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;GPO testGPO

PS C:\ &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;$testGPO&lt;/span&gt;&lt;span style="color: #000000;"&gt;

DisplayName : testGPO

DomainName : corp.contoso.com

Owner : CORP3\Domain Admins

Id : 4364e8c5&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;23a0&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;4020&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;9624&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;4dbcaac9c8c2

GpoStatus : AllSettingsEnabled

Description :

CreationTime : &lt;/span&gt;&lt;span style="color: #000000;"&gt;5&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;9&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;2011&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;10&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;07&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;09&lt;/span&gt;&lt;span style="color: #000000;"&gt; AM

ModificationTime : &lt;/span&gt;&lt;span style="color: #000000;"&gt;6&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;27&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;2011&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;3&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;51&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;20&lt;/span&gt;&lt;span style="color: #000000;"&gt; PM

UserVersion : AD Version: &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;, SysVol Version: &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;

ComputerVersion : AD Version: &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;, SysVol Version: &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;

WmiFilter :

&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;I was pretty sure that Description would show the comment for the GPO. And I ran the Get-Member cmdlet against the $testGPO object just to verify that I can use the Description property to set the comment using PowerShell.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;
  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:983ac94c-157c-4f33-b54e-d4adcf247621" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 576px; height: 245px;background-color:White;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000;"&gt;PS C:\ &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;$testGPO&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt; gm &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;Membertype property

    TypeName: Microsoft.GroupPolicy.Gpo

    Name MemberType Definition

    &lt;/span&gt;&lt;span style="color: #000000;"&gt;----&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;----------&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;----------&lt;/span&gt;&lt;span style="color: #000000;"&gt;

    Computer Property Microsoft.GroupPolicy.ComputerConfiguration Computer {get;}

    CreationTime Property System.DateTime CreationTime {get;}

    Description Property System.String Description {get;set;}

    DisplayName Property System.String DisplayName {get;set;}

    DomainName Property System.String DomainName {get;}

    GpoStatus Property Microsoft.GroupPolicy.GpoStatus GpoStatus {get;set;}

    Id Property System.Guid Id {get;}

    ModificationTime Property System.DateTime ModificationTime {get;}

    Owner Property System.String Owner {get;}

    Path Property System.String Path {get;}

    User Property Microsoft.GroupPolicy.UserConfiguration User {get;}

    WmiFilter Property Microsoft.GroupPolicy.WmiFilter WmiFilter {get;set;}
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;Then I changed the comment by setting $testGPO.Description to a string value, which just looks like a simple assignment:&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:e67625a9-d460-4091-9908-31195333800f" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 576px; height: 245px;background-color:White;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000;"&gt;PS C:\ &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;$testGPO&lt;/span&gt;&lt;span style="color: #000000;"&gt;.description&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;This is my test GPO. I'm using this to try out GP and PowerShell.&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;

PS C:\ &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;$testGPO&lt;/span&gt;&lt;span style="color: #000000;"&gt;

    DisplayName : testGPO

    DomainName : corp.contoso.com

    Owner : CORP3\Domain Admins

    Id : 4364e8c5&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;23a0&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;4020&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;9624&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;4dbcaac9c8c2

    GpoStatus : AllSettingsEnabled

    Description : This is my test GPO. I'm using this to try out GP and PowerShell.

    CreationTime : &lt;/span&gt;&lt;span style="color: #000000;"&gt;5&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;9&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;2011&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;10&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;07&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;09&lt;/span&gt;&lt;span style="color: #000000;"&gt; AM

    ModificationTime : &lt;/span&gt;&lt;span style="color: #000000;"&gt;6&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;27&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;2011&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;3&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;51&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;20&lt;/span&gt;&lt;span style="color: #000000;"&gt; PM

    UserVersion : AD Version: &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;, SysVol Version: &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;

    ComputerVersion : AD Version: &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;, SysVol Version: &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;

    WmiFilter :

&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;Here’s the GPMC snapshot before changing the comment:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/7587.clip_5F00_image002_5F00_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/8168.clip_5F00_image002_5F00_thumb.jpg" width="518" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here’s the GPMC snapshot after I changed the comment:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/6014.clip_5F00_image004_5F00_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-02-metablogapi/4861.clip_5F00_image004_5F00_thumb.jpg" width="518" height="327" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3441535" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/MVP/">MVP</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/GPOs/">GPOs</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/comment/">comment</category></item><item><title>Listing all GPOs in the current forest</title><link>http://blogs.technet.com/b/grouppolicy/archive/2011/06/10/listing-all-gpos-in-the-current-forest.aspx</link><pubDate>Fri, 10 Jun 2011 20:53:53 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3434861</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3434861</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2011/06/10/listing-all-gpos-in-the-current-forest.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;This post was written by Judith, a technical writer for Group Policy. This is the second post in a series on ways to use Powershell with Group Policy. See the first post on getting started with &lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2011/06/09/rsat-amp-gp-cmdlets.aspx"&gt;RSAT and Group Policy&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Let’s say I have a forest and I’d like to document a listing of all the GPOs in that forest. And maybe be able to list the GPOs mapped to the domain the GPO is created in. &lt;/p&gt;  &lt;p&gt;I can start with the Get-ADForest cmdlet which creates an object for the forest I’m logged into. This object has a Domains property. How do I know this? I can find this out by running:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:e7678211-7b67-47e6-9748-f48dcb19e697" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 293px; height: 119px;background-color:White;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000;"&gt;

Get&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;ADForest &lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt; Get&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;Member
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;Once I know that I can get a list of all the domains in the forest using the Domains property, I can pipe those domain names into the Get-GPO cmdlet to find the names of all GPOs for each domain in the forest.&lt;/p&gt;

&lt;p&gt;Here’s how it works out in one long line:&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:0eb0fff6-58d4-4352-b732-6495aab22d9c" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 516px; height: 84px;background-color:White;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000;"&gt;(get&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;ADForest).domains &lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt; { get&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;GPO &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;all &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;Domain &lt;/span&gt;&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt; Select&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;Object &lt;/span&gt;&lt;span style="color: #000000;"&gt;@&lt;/span&gt;&lt;span style="color: #000000;"&gt;{n&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;'Domain Name';e&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;&lt;span style="color: #000000;"&gt;.DomainName}}, &lt;/span&gt;&lt;span style="color: #000000;"&gt;@&lt;/span&gt;&lt;span style="color: #000000;"&gt;{n&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;'GPO Name';e&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;&lt;span style="color: #000000;"&gt;.DisplayName}} }&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;The Select-Object cmdlet is used to create an &lt;a href="http://en.wikipedia.org/wiki/Associative_array"&gt;associative array&lt;/a&gt; that maps the domain name with the GPO name.&lt;/p&gt;

&lt;p&gt;For a sample domain called &lt;strong&gt;corp.Contoso.com&lt;/strong&gt;, with a child domain of &lt;strong&gt;HQ.corp.Contoso.com&lt;/strong&gt;, with one test GPO named &lt;strong&gt;testGPO&lt;/strong&gt;, I would get a listing that looks like this:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;
    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:03156fea-a370-488d-81c3-d1f982585604" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 468px; height: 179px;background-color:White;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000;"&gt;Domain Name         GPO Name

&lt;/span&gt;&lt;span style="color: #000000;"&gt;-----------&lt;/span&gt;&lt;span style="color: #000000;"&gt;         &lt;/span&gt;&lt;span style="color: #000000;"&gt;--------&lt;/span&gt;&lt;span style="color: #000000;"&gt;

corp.contoso.com     &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;Default&lt;/span&gt;&lt;span style="color: #000000;"&gt; Domain Policy

corp.contoso.com     testGPO

corp.contoso.com     &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;Default&lt;/span&gt;&lt;span style="color: #000000;"&gt; Domain Controllers Policy

HQ.corp.contoso.com &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;Default&lt;/span&gt;&lt;span style="color: #000000;"&gt; Domain Policy

HQ.corp.contoso.com &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;Default&lt;/span&gt;&lt;span style="color: #000000;"&gt; Domain Controllers Policy
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Pipe the output of this command to the Out-Gridview cmdlet to get a spreadsheet style listing of GPOs for each domain in the forest.&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:9289e8a9-dab9-4857-b0fb-7af953365416" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 518px; height: 87px;background-color:White;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000;"&gt;(get&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;ADForest).domains &lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt; { get&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;GPO &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;all &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;Domain &lt;/span&gt;&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt; Select&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;Object &lt;/span&gt;&lt;span style="color: #000000;"&gt;@&lt;/span&gt;&lt;span style="color: #000000;"&gt;{n&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;'Domain Name';e&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;&lt;span style="color: #000000;"&gt;.DomainName}}, &lt;/span&gt;&lt;span style="color: #000000;"&gt;@&lt;/span&gt;&lt;span style="color: #000000;"&gt;{n&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;'GPO Name';e&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;&lt;span style="color: #000000;"&gt;.DisplayName}} } &lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt; Out&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;Gridview
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3434861" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/cmdlet/">cmdlet</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/AD/">AD</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/domain/">domain</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/GPOs/">GPOs</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/forest/">forest</category></item><item><title>RSAT &amp; GP Cmdlets</title><link>http://blogs.technet.com/b/grouppolicy/archive/2011/06/09/rsat-amp-gp-cmdlets.aspx</link><pubDate>Thu, 09 Jun 2011 22:06:13 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3434665</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3434665</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2011/06/09/rsat-amp-gp-cmdlets.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;This post was written by Judith, a technical writer for Group Policy. This will be the first post in a series on ways to use Powershell with Group Policy&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;I wanted to play around with the Group Policy cmdlets. These are installed on Windows Server 2008 R2 automatically when Group Policy is installed. But what I really wanted to do was use them on my Windows 7 client machine where I do most of my Group Policy administration.&lt;/p&gt;  &lt;p&gt;I installed &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d"&gt;RSAT (Remote Server Administration Tools) for Windows 7&lt;/a&gt;, I now had access to the Group Policy cmdlets on my Windows 7 client. &lt;/p&gt;  &lt;p&gt;So, instead of having to remote into my Windows Server 2008 R2 server directly or try to use the remoting built into Windows PowerShell, I can install RSAT and then use the GP cmdlets in the same way I would on Server 2008 R2.&lt;/p&gt;  &lt;p&gt;Once RSAT is installed, I can open a Windows PowerShell command window and find out the Windows PowerShell modules that I can use with the command &lt;strong&gt;get-module -listavailable&lt;/strong&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:94b1dd0d-7389-4fe3-9d67-5874de2db81f" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 532px; height: 356px;background-color:White;overflow: auto;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000;"&gt;    PS C:\&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; get&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;module &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;listavailable

    ModuleType     Name                 ExportedCommands

    &lt;/span&gt;&lt;span style="color: #000000;"&gt;----------&lt;/span&gt;&lt;span style="color: #000000;"&gt;     &lt;/span&gt;&lt;span style="color: #000000;"&gt;----&lt;/span&gt;&lt;span style="color: #000000;"&gt;                 &lt;/span&gt;&lt;span style="color: #000000;"&gt;----------------&lt;/span&gt;&lt;span style="color: #000000;"&gt;

    Manifest     ActiveDirectory     {}

    Manifest     AppLocker             {}

    Manifest     BitsTransfer         {}

    Manifest     GroupPolicy         {}

    Manifest     PSDiagnostics         {}

    Manifest     TroubleshootingPack {}


&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;Then I can import the Group Policy module to make all the GP cmdlets available within my Windows PowerShell window with the command &lt;strong&gt;import-module GroupPolicy&lt;/strong&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;And a scripting we will go…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3434665" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/RSAT/">RSAT</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/cmdlet/">cmdlet</category></item><item><title>Get GPO Backup with Powershell</title><link>http://blogs.technet.com/b/grouppolicy/archive/2011/05/24/get-gpo-backup-with-powershell.aspx</link><pubDate>Tue, 24 May 2011 21:11:51 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3431448</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3431448</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2011/05/24/get-gpo-backup-with-powershell.aspx#comments</comments><description>&lt;p&gt;Jeff Hicks, one of Microsoft’s Powershell MVPs, has written a &lt;a href="http://jdhitsolutions.com/blog/2011/05/get-gpo-backup/"&gt;great script for managing GPO backups&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;The GroupPolicy module from Microsoft offers a great deal of functionality from a command line. In terms of regular maintenance or administration it is pretty hard to beat, especially if you have 100s or 1000s of GPOs. When you have such a large number, backing them up is critical and easy to accomplish with the Backup-GPO cmdlet. However, if you want to restore or import from a backup, you have to resort to the graphical Group Policy Managment Console. I couldn’t find any way to manage GPO backups from PowerShell so I wrote my own.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;It also has explanations for how the script functions, and how to use it. The download link is at &lt;a href="http://jdhitsolutions.com/blog/2011/05/get-gpo-backup/"&gt;the bottom of his post&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3431448" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/Group+Policy/">Group Policy</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/backup/">backup</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/GPOs/">GPOs</category></item><item><title>Copy and Merge GPOs through Powershell</title><link>http://blogs.technet.com/b/grouppolicy/archive/2011/01/19/copy-and-merge-gpos-through-powershell.aspx</link><pubDate>Wed, 19 Jan 2011 20:01:36 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3381305</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3381305</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2011/01/19/copy-and-merge-gpos-through-powershell.aspx#comments</comments><description>&lt;p&gt;Ashley McGlone has a &lt;a href="http://blogs.technet.com/b/ashleymcglone/archive/2011/01/19/finally-copy-and-merge-gpos-powershell-saves-the-day.aspx"&gt;great script&lt;/a&gt; up for merging GPOs together through powershell. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I wish I had this script five years ago. At the time I was searching for a way to combine or merge GPOs, but there simply wasn’t a way to do it. And today there still isn’t a way to do it… until POWERSHELL! Almost every environment I see (including my own former environment) has a collection of GPOs that have evolved over time and really need to be consolidated and cleaned up.&lt;/p&gt;    &lt;p&gt;In Windows Server 2008 R2 we released a new PowerShell module for Group Policy administration. I haven’t seen much written about it, and I don’t think many people realize it is there.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/b/ashleymcglone/archive/2011/01/19/finally-copy-and-merge-gpos-powershell-saves-the-day.aspx"&gt;Check it out!&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3381305" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/GPOs/">GPOs</category></item><item><title>AGPM Least Privilege for Child Domain</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/10/22/agpm-least-privilege-for-child-domain.aspx</link><pubDate>Fri, 22 Oct 2010 19:00:41 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3363601</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3363601</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/10/22/agpm-least-privilege-for-child-domain.aspx#comments</comments><description>&lt;p&gt;Michael has covered &lt;a href="http://blogs.technet.com/b/mkleef/archive/2008/11/18/locking-down-agpm-fit-for-least-privilege.aspx"&gt;“least privilege” for AGPM&lt;/a&gt; before (the &lt;a href="http://blogs.technet.com/b/askds/archive/2008/12/16/agpm-least-privilege-scenario.aspx"&gt;Active Directory team&lt;/a&gt; followed up with a bit more detail). However, those scenarios are for single-domains. What if you have a forest where you want to manage all the child domains using AGPM, but you don’t want to just give the AGPM service administrator privileges across your entire forest? This guide will show you how to let the AGPM functionality take root with the &lt;a href="http://en.wikipedia.org/wiki/Principle_of_least_privilege"&gt;minimum amount of privilege&lt;/a&gt; for each child in your domain.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For this example we’re using CONTOSO.COM as our root DC. CHILD.CONTOSO.COM is the child domain in the forest. Our AGPM server is in CONTOSO.COM running under the user “AGPMService”. (Side note: &lt;a href="http://en.wikipedia.org/wiki/Contoso"&gt;Wondering why “Contoso”?&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There are three permissions AGPM requires to run in a child domain.&lt;/p&gt;  &lt;p&gt;1) Give AGPMService permission in the GPO directory. This will allow AGPM to check policies in and out.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;a. Open GPMC.MSC for the child domain.&lt;/p&gt;    &lt;p&gt;b. Click on the “Group Policy Objects” container.&lt;/p&gt;    &lt;p&gt;c. In the “Delegation” tab, click “Add…” and add AGPMService from the parent domain.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-52-02-metablogapi/8561.clip_5F00_image002_5F00_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-52-02-metablogapi/5417.clip_5F00_image002_5F00_thumb.png" width="554" height="389" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2) Give AGPMService permission for any existing GPOs. This will allow AGPM to take control of any existing GPOs.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;a. &lt;b&gt;For each&lt;/b&gt; GPO that already exists in the child domain (In our example, that would be the 2 GPOs starting with “Default Domain…”), select it in the GPMC&lt;/p&gt;    &lt;p&gt;b. Select the “Delegation” tab, click “Add…”, and add the AGPMService from the parent domain&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-52-02-metablogapi/0636.clip_5F00_image004_5F00_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-52-02-metablogapi/0624.clip_5F00_image004_5F00_thumb.png" width="554" height="390" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;3) Add AGPM to the “Backup Operators” builtin security group.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;a. Open “Active Directory Users and Computers” for the child domain.&lt;/p&gt;    &lt;p&gt;b. Navigate to the builtin container and right-click on Backup Operators.&lt;/p&gt;    &lt;p&gt;c. Select “Properties”, then navigate to “Members” and click “Add…”, and add the AGPMService from the parent domain.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-52-02-metablogapi/1207.clip_5F00_image006_5F00_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-52-02-metablogapi/4353.clip_5F00_image006_5F00_thumb.png" width="554" height="344" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You should now be able to use AGPM in the child domain.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3363601" width="1" height="1"&gt;</description></item><item><title>Tales from the Community - Deleting a registry value</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/10/01/tales-from-the-community-deleting-a-registry-value.aspx</link><pubDate>Fri, 01 Oct 2010 19:39:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3359330</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3359330</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/10/01/tales-from-the-community-deleting-a-registry-value.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Georgia','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&lt;span style="font-size: small;"&gt;Tales from the Community &amp;ndash; Deleting registry values&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;Okay, I've seen this question in the Technet Forums that basically goes like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;"&lt;i&gt;Hey I have this reg script that deletes a value off the registry for me. The .reg file does&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;[HKEY_CLASSES_ROOT\.ext\someApplication\ShellNew]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;"FileName"=-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;- can I do that with an ADM template? All I have is&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 8.5pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 8.5pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;CLASS MACHINE&lt;br /&gt;&lt;br /&gt;CATEGORY "Software\CLASSES\.ext\someApplication\ShellNew"&lt;br /&gt;KEYNAME "Software\CLASSES\.ext\someApplication\ShellNew"&lt;br /&gt;&lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;POLICY "FileName"&lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;PART "FileName"&lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;NUMERIC&lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;VALUENAME "FileName"&lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;END PART&lt;br /&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;END POLICY&lt;br /&gt;&lt;br /&gt;END CATEGORY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;but that doesn't work!"&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;Okay, so let's disassemble this. From the .REG file output, the poster already figured out correctly, that HKEY_CLASSES_ROOT is a substitution for HKLM\SOFTWARE\CLASSES or HKCU\SOFTWARE\CLASSES depending on whether you want the setting stick for users or all users on a machine. Obviously the poster decided to use that as a machine setting, hence CLASS MACHINE.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;Unfortunately, the NUMERIC PART isn't capable of deleting keys (at least not that I knew), so we need so tricking here to get the key deleted. Using a CHECKBOX PART leaves us the opportunity to use a VALUEON/VALUEOFF pair in our ADM template - and VALUEON/VALUEOFF know the "DELETE" keyword -- off we go:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;CLASS MACHINE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;CATEGORY "Florians testing"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;KEYNAME "Software\FlorianTesting"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;POLICY "FileName"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;PART "FileName" CHECKBOX&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;VALUENAME "myTest"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;VALUEON DELETE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;VALUEOFF 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;END PART&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;END POLICY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span lang="DE" style="font-family: 'Arial','sans-serif'; font-size: 7pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-language: DE;"&gt;END CATEGORY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;So that totally worked for me. The GP setting would display a checkbox when "enabled". If that checkbox is checked, it would delete the value off the registry. If it's unchecked upon closing and saving the setting, it would set the value to 2. That's it. That's all the magic. Worked for me like a charm.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;That just leave a couple of questions open... why the heck all the hassle with ADM(X)? Seriously, if you've already got hands on a working .REG file, why not deploy it in a computer startup script use &lt;i&gt;regedit /s myFile.reg&lt;/i&gt; and forget about the ADM(X) template pain? Better yet, why not use GP Preferences to push the registry deletion to the clients? Since it's *this* cool, I thought I'd paste a screenshot to guide you there:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-52-02/0310.deleting_2D00_a_2D00_reg_2D00_key.bmp" border="0" /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-language: DE;"&gt;I must admit I've been a fan of ADM template. They were just kind of geeky and they were kind of a language you could show your friends you understood. &lt;/span&gt;&lt;span lang="DE" style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-language: DE;"&gt;But hey, we're in 2010 now. Let's move on :-)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;Cheers,&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Florian (Group Policy MVP)&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3359330" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/ADMX/">ADMX</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/registry+setting/">registry setting</category></item><item><title>More on searching group policy</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/09/14/more-on-searching-group-policy.aspx</link><pubDate>Tue, 14 Sep 2010 18:32:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3355440</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3355440</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/09/14/more-on-searching-group-policy.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;Here&amp;rsquo;s a quick follow-up to our last post on the &lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2010/09/03/group-policy-videos.aspx" title="existence of GPO search"&gt;existence of GPO search&lt;/a&gt;. One of our MVPs, Alan, has a &lt;a href="http://www.grouppolicy.biz/2010/06/msdn-group-policy-search-out-now/"&gt;great post up&lt;/a&gt; about a &lt;a href="http://gps.cloudapp.net/"&gt;Group Policy Search webapp&lt;/a&gt; (Previously mentioned &lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2010/06/28/cross-post-askds-group-policy-search-settings-in-the-cloud.aspx"&gt;on this blog&lt;/a&gt;). It includes instructions on how to install a Windows Search connector &amp;ndash; so you can use this search right from Windows Explorer! &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;Someone noted that you can't search for comments in the GPMC search. Very true! However, by using the "Description" property exposed by &lt;a href="http://blogs.technet.com/b/grouppolicy/archive/tags/powershell/"&gt;Group Policy cmdlets in Powershell&lt;/a&gt;, we might be able to make something work&amp;hellip;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;This script searches for policies with comments and displays them:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;import-module grouppolicy;&amp;nbsp;#use group policy cmdlet&lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;$arrPolicy = get-gpo &amp;ndash;all; #get all GPOs and store them in an array&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;$arrCommented = @(); #create an empty array for GPOs matching our criteria (in this case, commented GPOs)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;Foreach($GPO in $arrPolicy) { &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;&amp;nbsp;If ($GPO.Description) { $arrCommented += $GPO; } #if it has a comment, add it to the array&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;Write-output (format-list &amp;ndash;property DisplayName, Description &amp;ndash;inputobject $arrCommented); #Make it look pretty and then print it&lt;/span&gt;&lt;span style="font-family: 'Times New Roman','serif'; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman','serif'; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;This script searches for policies with comments and displays them. In Powershell, you can test for the existence of a property with &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="font-size: small;"&gt;if($property) &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;and the non-existence of a property&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;if(!$property)&lt;/span&gt;&lt;span style="color: #1f497d; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"&gt;&lt;span style="font-family: Calibri;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;. (These statements can also be understood as:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="font-size: small;"&gt;if ($property -eq $NULL) &lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 115%; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;nd&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="font-size: small;"&gt; if($property &amp;ndash;ne $NULL) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%; font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;respectively. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Just one of the many shortcuts Powershell provides!&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;Once you have this up and running, you can try a few other things. Want to search for a specific substring within the comments? Replace the if-statement above with these two lines:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;If ($GPO.Description)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"&gt;{ if ( $GPO.Description.contains(&amp;ldquo;foo&amp;rdquo;) ) {$arrCommented += $GPO; } }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;The first if-statement is still checking for existence, so the second if-statement can be assured the description exists &amp;ndash; and look through it for any specific string. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Arial','sans-serif'; color: black; font-size: 9pt; mso-fareast-font-family: 'Times New Roman';"&gt;Of course, this script probably could be reduced down to a few lines. If anyone wants to &lt;a href="http://meta.stackoverflow.com/questions/27131/what-is-code-golf/27133#27133"&gt;go golfing&lt;/a&gt; with this script, post your best entry in the comments! &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3355440" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/scripts/">scripts</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/Group+Policy/">Group Policy</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/search/">search</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/GPOs/">GPOs</category></item><item><title>Group Policy Videos</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/09/03/group-policy-videos.aspx</link><pubDate>Fri, 03 Sep 2010 17:07:02 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3353586</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3353586</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/09/03/group-policy-videos.aspx#comments</comments><description>&lt;p&gt;We've got two new videos for you!&lt;/p&gt;
&lt;p&gt;The TechNet guys dropped by to ask Lilia some questions (always a good idea, in my opinion), and in return she dropped some knowledge.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://edge.technet.com/Media/Group-Policy-Search-with-Lilia/"&gt;http://edge.technet.com/Media/Group-Policy-Search-with-Lilia/&lt;/a&gt;&amp;nbsp;- Did you know about the search dialogue box in the Group Policy Management Console?!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://edge.technet.com/Media/troubleshooting-using-gplogview/"&gt;http://edge.technet.com/Media/troubleshooting-using-gplogview/&lt;/a&gt;&amp;nbsp;- Using GPLogView to troubleshoot. A great companion to our &lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2007/02/08/gplogview.aspx" title="previous blog post"&gt;previous blog post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;There's a ton of great information in these videos. I hope you enjoy them!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3353586" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/Tools+and+Docs/">Tools and Docs</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/GPMC/">GPMC</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/event+log/">event log</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/group+policy+search/">group policy search</category></item><item><title>More powershell &amp; group policy </title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/07/27/more-powershell-amp-group-policy.aspx</link><pubDate>Tue, 27 Jul 2010 22:57:37 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3347161</guid><dc:creator>GPTeam</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3347161</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/07/27/more-powershell-amp-group-policy.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;I do not know about you but I LOVE PowerShell, especially the Group Policy cmdlets. Unfortunately, I didn&amp;rsquo;t have too many opportunities to really use them - but luckily got a chance in preparation for a presentation where I would demo a script that Lindsay (from our dev team) put together. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;This script allows you to find any Group Policy setting across all of your GPOs in your domain. Lindsay outlines how to use her script in the following blog posts:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2009/06/08/video-on-technet-edge-searching-for-settings-in-a-gpo.aspx"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Video on TechnetEdge: Searching for settings in a GPO&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2009/04/14/tool-images.aspx"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Checking a setting in all GPO&amp;rsquo;s (Security ADMX, and more)&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2009/04/17/find-settings-in-every-gpo.aspx"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;Checking a setting in all GPO&amp;rsquo;s continued (scripts, firewall, GP Preferences and more)&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;In preparing, however, I encountered something that many of you have already run into: The suspicious lack of a get cmdlet for GPlinks.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Executing the &lt;b style="mso-bidi-font-weight: normal;"&gt;get-help *-GPLink*&lt;/b&gt; command in a PowerShell window with the GP cmdlets loaded returns the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Name&lt;span style="mso-tab-count: 4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Category&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Synopsis&lt;br /&gt;--------&lt;span style="mso-tab-count: 4;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;------------&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;------------&lt;br /&gt;New-GPLink&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Cmdlet&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Links a GPO to a site, domain, o&amp;hellip;&lt;br /&gt;Remove-GPLink&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Cmdlet&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Removes a GPO link from a site, &amp;hellip;&lt;br /&gt;Set-GPLink&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Cmdlet&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Sets the properties of the speci&amp;hellip;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Where is the &lt;b style="mso-bidi-font-weight: normal;"&gt;Get-GPLink&lt;/b&gt;? It does not exist. Well at least it is not included as one of Microsoft&amp;rsquo;s cmdlets. I have found that a &lt;/span&gt;&lt;a href="http://theexpertscommunity.com/item/view/id/1643"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;PowerShell function was created by Jeff Hicks&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt; in an attempt to fill the void. For my demo, however, I wanted a built-in solution. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;After some digging and experimenting, I found a simple way to determine what containers a GPO is linked to and it can be done with only 3 lines of PowerShell script. I used the Active Directory &lt;b style="mso-bidi-font-weight: normal;"&gt;get-ADObject &lt;/b&gt;cmdlet combined with the &lt;b style="mso-bidi-font-weight: normal;"&gt;Filter&lt;/b&gt; parameter. The filter parameter allows me to use PowerShell Expression language to query AD for the object that I am looking for. The specific thing that I am looking for is any object that has the &lt;b style="mso-bidi-font-weight: normal;"&gt;gPLink&lt;/b&gt; property which contains the GUID for the GPO I am interested in. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;To do that I first need to get the GUID for the GPO I am interested in:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in; margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;1.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;$myGPO = Get-GPO &amp;ndash;name {display name of GPO}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;2.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;$myGPOID = &amp;ldquo;*&amp;rdquo; + $myGPO.Id + &amp;ldquo;*&amp;rdquo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Then I pass that into the get-ADObject cmdlet to get the FQDNs for all containers that the GPO is attached to:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;3.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;$Path = get-ADObject &amp;ndash;Filter {gPLink &amp;ndash;Like $myGPOID}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;And as simple as that, I have all containers stored in the variable $Path that a specific GPO is linked to.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;MarkG&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3347161" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/scripting/">scripting</category></item><item><title>Group Policy &amp; Scripting</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/07/23/group-policy-amp-scripting.aspx</link><pubDate>Fri, 23 Jul 2010 19:31:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3346353</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3346353</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/07/23/group-policy-amp-scripting.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.technet.com/b/heyscriptingguy/"&gt;Hey, Scripting Guy!&lt;/a&gt;&amp;nbsp;has a great series of posts around Group Policy &amp;amp; scripting:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/dmrETz"&gt;Using group policy cmdlets for backup and restore&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/9ItpF1"&gt;Test AD replication with group policy cmdlets&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/bGO8Hf"&gt;How to compare 2 GPOs offline&lt;/a&gt; (&lt;a href="http://bit.ly/deWXal"&gt;Part II&lt;/a&gt;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3346353" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/scripts/">scripts</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/cmdlet/">cmdlet</category></item><item><title>Cross post: AskDS Group Policy Search Settings in the cloud </title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/06/28/cross-post-askds-group-policy-search-settings-in-the-cloud.aspx</link><pubDate>Mon, 28 Jun 2010 20:25:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3340929</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3340929</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/06/28/cross-post-askds-group-policy-search-settings-in-the-cloud.aspx#comments</comments><description>&lt;p&gt;Kapil posted a great article about a new tool created by Stephanus Schulte and Jean-Pierre Regente. It's an Azure-hosted tool that keyword searches Group Policy settings. Read about it here: &lt;a href="http://blogs.technet.com/b/askds/archive/2010/06/24/announcing-the-group-policy-search-service.aspx"&gt;http://blogs.technet.com/b/askds/archive/2010/06/24/announcing-the-group-policy-search-service.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Check it out here: &lt;a href="http://gps.cloudapp.net/"&gt;http://gps.cloudapp.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here's what it looks like &lt;em&gt;in action&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img height="337" width="596" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-52-02/7633.gpSearch.PNG" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Go forth and discover!&lt;/p&gt;
&lt;p&gt;@superlilia&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3340929" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/settings/">settings</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/group+policy+search/">group policy search</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/azure/">azure</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/hosted+search/">hosted search</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/keyword+search/">keyword search</category></item><item><title>How long does this script / WMI Filter take?</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/06/25/how-long-does-this-script-take.aspx</link><pubDate>Fri, 25 Jun 2010 16:17:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3320218</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3320218</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/06/25/how-long-does-this-script-take.aspx#comments</comments><description>&lt;p&gt;I was reading GP MVP Darren Mar-Elia&amp;rsquo;s &lt;a href="http://www.gpoguy.com/GPTalk-Subscribe.aspx"&gt;forum&lt;/a&gt; about WMI Filters and discovered a sweet PowerShell trick from another awesome friend of the GP team, Thorbj&amp;ouml;rn Sj&amp;ouml;vold (CTO of &lt;a href="http://www.specopssoft.com/web/home.aspx"&gt;Specops Software&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;You can use the PowerShell cmdlet &amp;ldquo;measure-command&amp;rdquo; to measure the time it takes to run script blocks and cmdlets &amp;ndash; this includes WMI filters! This came up in a thread about logon time.&lt;/p&gt;
&lt;p&gt;Read the full thread &lt;a href="http://www.gpoguy.com/MailList/tabid/58/view/topic/postid/1893/forumid/1/Default.aspx"&gt;here&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Here's how to set it up"...deploy a new environment variable, for example INSTALLADOBE using Group Policy Preferences.&amp;nbsp;Use their Windows Installer Target and then use a WMI filter like this for the actual installation.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;SELECT * FROM Win32_Environment WHERE Name = 'INSTALLADOBE' &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;You can compare the two WMI queries like this using PowerShell to get an idea on how much faster it is: &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-family: courier new,courier;"&gt;measure-Command {Get-WmiObject -query "SELECT * FROM Win32_Environment WHERE Name = 'OS'"} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;just substitute the OS name with the name of any Environment variable like INSTALLADOBE, but to test the speed it does not really matter.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;measure-command {Get-WmiObject -query "Select * from Win32_Product where Name like '%Adobe Reader%'"}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;"&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;Thanks guys! Hope you find this useful, &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;@superlilia&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3320218" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/PowerShell/">PowerShell</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/WMI+filter/">WMI filter</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/group+Policy+preferences/">group Policy preferences</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/logon+time/">logon time</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/compare/">compare</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/slow/">slow</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/measure_2D00_command/">measure-command</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/quick/">quick</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/environment+variable/">environment variable</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/fast/">fast</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/milliseconds/">milliseconds</category></item><item><title>Re-post: Darren Mar-Elia's "Controlling Shares on Windows Systems"</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/06/22/re-post-darren-mar-elia-s-quot-controlling-shares-on-windows-systems-quot.aspx</link><pubDate>Wed, 23 Jun 2010 06:02:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3339873</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3339873</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/06/22/re-post-darren-mar-elia-s-quot-controlling-shares-on-windows-systems-quot.aspx#comments</comments><description>&lt;p&gt;Darren Mar-Elia, aka GPOGuy, wrote a cool post about using Group Policy Preferences to remove unwanted&amp;nbsp;network shares from your environment. Group Policy Preferences can do everything! If you've got Windows Server 2008 or above, you've already got GP Preferences at your disposal.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Read on :&amp;nbsp;&amp;nbsp; &lt;a href="http://sdmsoftware.com/blog/2010/06/22/controlling-shares-on-windows-systems/"&gt;http://sdmsoftware.com/blog/2010/06/22/controlling-shares-on-windows-systems/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To get more detail on what you need to use Group Policy Preferences, read here:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.technet.com/b/grouppolicy/archive/2009/03/27/group-policy-preferences-not-applying-on-some-clients-client-side-extension-xmllite.aspx"&gt;http://blogs.technet.com/b/grouppolicy/archive/2009/03/27/group-policy-preferences-not-applying-on-some-clients-client-side-extension-xmllite.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;hope this helps, &lt;/p&gt;
&lt;p&gt;@superlilia&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3339873" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/Darren+Mar_2D00_Elia/">Darren Mar-Elia</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/group+Policy+preferences/">group Policy preferences</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/remove+share/">remove share</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/network+shares/">network shares</category></item><item><title>Importing and Exporting with AGPM</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/06/11/importing-and-exporting-with-agpm.aspx</link><pubDate>Fri, 11 Jun 2010 20:59:27 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3337704</guid><dc:creator>GPTeam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3337704</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/06/11/importing-and-exporting-with-agpm.aspx#comments</comments><description>&lt;p&gt;Thanks for tuning in this lovely Friday! Time for a glimpse into the advanced side of Group Policy, with &lt;a href="http://www.microsoft.com/windows/enterprise/products/mdop/agpm.aspx"&gt;Advanced Group Policy Management&lt;/a&gt;. This awesome product comes as part of &lt;a href="http://www.microsoft.com/windows/enterprise/products/mdop/default.aspx"&gt;MDOP&lt;/a&gt; (Microsoft Desktop Optimization Pack), which you can get easily if you have SA. Read more about it &lt;a href="http://technet.microsoft.com/en-us/windows/bb899442.aspx"&gt;here&lt;/a&gt; on TechNet. The following article on how to migrate between Controlled and Uncontrolled GPO’s is by Deepak Vishwanathan, a hardworking developer on the Group Policy team. &lt;/p&gt;  &lt;p&gt; - superLilia&lt;/p&gt;  &lt;p&gt;Now, say your enterprise is using AGPM and has a mixed environment of controlled and uncontrolled GPOs. Let’s say you want to export the settings from your controlled GPO “Sales” and import them into an uncontrolled GPO “Mobile Sales”. &lt;/p&gt;  &lt;p&gt;You try, but you fail. Why?&lt;/p&gt;  &lt;p&gt;To import settings, the GPMC (Group Policy Management Console) is expecting a GPMC backup. But the AGPM export output is not a GPMC backup.The output of AGPM export operation is a cabinet file, whereas the output of GPMC backup operation is a GPO backup directory tree. So, we need a mechanism to convert the AGPM cabinet file into a GPO backup directory tree, so it can be imported by the GPMC. &lt;/p&gt;  &lt;p&gt;The same problem happens in the reverse: if you want to import settings of an uncontrolled GPO into an AGPM-controlled GPO. The input to the AGPM import operation is a cabinet file, whereas the output of GPMC backup operation is a GPO backup directory tree. Again, we need to convert from GPO backup directory tree to AGPM import cabinet file.&lt;/p&gt;  &lt;p&gt;No problem!!! Welcome Microsoft Cabinet SDK :) The Microsoft Cabinet SDK is publicly available for download at &lt;a href="http://support.microsoft.com/kb/310618"&gt;http://support.microsoft.com/kb/310618&lt;/a&gt;. This SDK contains compression / decompression utilities that help to work with cabinet files. In order to accomplish our task, Cabarc utility will come handy. To read more about Cabarc utility, refer to &lt;a href="http://technet.microsoft.com/en-us/library/cc781787(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/cc781787(WS.10).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So, let’s consider the following 2 generic scenarios:&lt;/p&gt;  &lt;h4&gt;&lt;a name="_Toc229313108"&gt;&lt;/a&gt;&lt;a name="_Toc229313109"&gt;1. Import controlled GPO to uncontrolled environment&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;(1) Export a controlled GPO using AGPM export operation.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The output of export operation is a cabinet file containing the compressed GPO backup.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;(2) Decompress the exported cabinet file using Cabarc utility.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Let’s say the exported GPO’s cabinet file path is d:\controlledGPObackups\controlled.cab. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Let’s make the backup directory for uncontrolled GPOs d:\uncontrolledGPObackups and we want to use that directory as the target directory for the decompression command. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Run this command: &lt;/p&gt;  &lt;p&gt;Cabarc.exe -p X d:\controlledGPObackups\controlled.cab d:\uncontrolledGPObackups\&lt;/p&gt;  &lt;p&gt;Note:&lt;/p&gt;  &lt;p&gt;· X is the command for decompressing a cabinet file.&lt;/p&gt;  &lt;p&gt;· The back slash trailing the target directory is mandatory.&lt;/p&gt;  &lt;p&gt;· While decompressing, we need to ensure that the filepaths for the compressed files are retained. To ensure this, we use the –p (path preserve) option.&lt;/p&gt;  &lt;p&gt;Once the command is executed, the decompressed GPO Backup root directory would be d:\uncontrolledGPObackups\{3D92F8A6-21DD-4BF9-B153-0CD5FF5539C9} (assuming, {3D92F8A6-21DD-4BF9-B153-0CD5FF5539C9} is the exported GPO’s backupId).&lt;/p&gt;  &lt;p&gt;(3) Import the decompressed GPO backup into uncontrolled GPO using GPMC import utility.&lt;/p&gt;  &lt;h4&gt;2. Import uncontrolled GPO to controlled environment&lt;/h4&gt;  &lt;p&gt;(1) Backup the selected uncontrolled GPO using GPMC backup utility.&lt;/p&gt;  &lt;p&gt;(2) Create an AGPM import compliant cabinet file using cabarc utility.&lt;/p&gt;  &lt;p&gt;Let us consider that the uncontrolled GPO’s backup directory path is d:\uncontrolledGPObackups\{3D92F8A6-21DD-4BF9-B153-0CD5FF5539C9}.&lt;/p&gt;  &lt;p&gt;Use the following command to generate the cabinet file d:\compressedGPOs\uncontrolledGPO.cab.&lt;/p&gt;  &lt;p&gt;Cabarc.exe -P uncontrolledGPObackups\ -p -r N d:\compressedGPOs\uncontrolledGPO.cab d:\uncontrolledGPObackups\{3D92F8A6-21DD-4BF9-B153-0CD5FF5539C9}\*&lt;/p&gt;  &lt;p&gt;NOTE:&lt;/p&gt;  &lt;p&gt;· N is the command for creating new cabinet file.&lt;/p&gt;  &lt;p&gt;· Since we need to retain only {3D92F8A6-21DD-4BF9-B153-0CD5FF5539C9} portion of the filepaths for the files that need to be added to the cabinet file, we use the –P (Path stripping) option.&lt;/p&gt;  &lt;p&gt;· We also need to use –p (path preserve) option, so that the added files have file names starting with {3D92F8A6-21DD-4BF9-B153-0CD5FF5539C9}.&lt;/p&gt;  &lt;p&gt;· We also need to use –r (recurse into subdirectories while adding files) option.&lt;/p&gt;  &lt;p&gt;(3) Check out the controlled GPO using AGPM checkout operation, if the GPO is not already checked out.&lt;/p&gt;  &lt;p&gt;(4) Import the cabinet file into the existing checked out GPO using the AGPM import operation.&lt;/p&gt;  &lt;p&gt;The moral of the story? Control all of your GPO’s if you are using AGPM! Even if you don’t, there are ways to work with controlled and uncontrolled GPOs. &lt;/p&gt;  &lt;p&gt;Hope this helps!&lt;/p&gt;  &lt;p&gt;Deepak&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3337704" width="1" height="1"&gt;</description></item><item><title>Scripts I Mentioned</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/04/20/scripts-i-mentioned.aspx</link><pubDate>Tue, 20 Apr 2010 20:39:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3326845</guid><dc:creator>GPTeam</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3326845</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/04/20/scripts-i-mentioned.aspx#comments</comments><description>&lt;P&gt;Hey everyone at MMS (or TechReady, or anywhere for that matter)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;If you've followed my advice and you're checking the blog, here's a neat little present for you!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Did someone make 1000 GPO's with the word 'test' in them just to test out some sweet new PowerShell script? Do you want to punch them in the face for bloating your environment? &lt;/P&gt;
&lt;P&gt;No need! Do what I did, make a list of all of the GPO's with 'test' in the name ('contains' is case sensitive, so be mindful of that). &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;$listTest = get-gpo -all | where {$_.DisplayName.contains("test")}&lt;/P&gt;
&lt;P&gt;foreach ($GPO in $listTest) {remove-GPO $GPO.DisplayName}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Done! &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are the scripts I've mentioned in today's presentation:&lt;/P&gt;
&lt;P&gt;Search for any setting&amp;nbsp;using the XML report:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;A href="http://blogs.technet.com/grouppolicy/archive/2009/04/14/tool-images.aspx"&gt;http://blogs.technet.com/grouppolicy/archive/2009/04/14/tool-images.aspx&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Backup all changed GPO's in the last month:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/grouppolicy/archive/2009/03/26/powershell-script-backup-all-gpos-that-have-been-modified-this-month.aspx"&gt;http://blogs.technet.com/grouppolicy/archive/2009/03/26/powershell-script-backup-all-gpos-that-have-been-modified-this-month.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Enjoy!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;your friendly&amp;nbsp;@superlilia&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3326845" width="1" height="1"&gt;</description></item><item><title>WMI Filter Friday</title><link>http://blogs.technet.com/b/grouppolicy/archive/2010/03/19/wmi-filter-friday.aspx</link><pubDate>Fri, 19 Mar 2010 22:53:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3320216</guid><dc:creator>GPTeam</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/grouppolicy/rsscomments.aspx?WeblogPostID=3320216</wfw:commentRss><comments>http://blogs.technet.com/b/grouppolicy/archive/2010/03/19/wmi-filter-friday.aspx#comments</comments><description>&lt;p&gt;It’s Friday and it’s sunny in my neighborhood, which means it is blog posting time! Let’s talk about WMI filters today, shall we? &lt;/p&gt;  &lt;p&gt;If I have WMI Filters &lt;i&gt;and &lt;/i&gt;Group Policy Preferences targeting, do they cancel out? Does one have precedence? Will the world explode?&lt;/p&gt;  &lt;p&gt;My answers are: No, Yes, and Maybe someday (but that’s more a Stephen Hawking &lt;a href="http://en.wikipedia.org/wiki/A_Brief_History_of_Time" mce_href="http://en.wikipedia.org/wiki/A_Brief_History_of_Time"&gt;conversation&lt;/a&gt; than a @superlilia blog post). &lt;/p&gt;  &lt;p&gt;WMI Filters apply to the GPO as a whole; GP Preferences targeting is per Preferences item. That is, per drive mapping, per shortcut, per printer, per power plan. &lt;/p&gt;  &lt;p&gt;&lt;i&gt;Scene&lt;/i&gt;: &lt;/p&gt;  &lt;p&gt;Edit a GPO, create multiple Preferences items and target each of them differently. Let’s say, you’re targeting Power Plans; you want the Power Plans to be applied only if it’s business hours (Monday-Friday from 9am-5pm).&lt;/p&gt;  &lt;p&gt;All of those items are in one GPO with a WMI filter – this will evaluate whether or not the GPO should be applied to the computer it is being pushed out to. For example, only for XP machines.&lt;/p&gt;  &lt;p&gt;The order will be evaluate WMI filter first, then GP Preferences targeting. If the WMI filter says this GPO won’t be applied to the computer, then the Preferences items won’t even be evaluated. Get it? They’re &lt;i&gt;inside &lt;/i&gt;the GPO, if the GPO doesn’t apply to that computer, it doesn’t matter what’s inside. &lt;/p&gt;  &lt;p&gt;GP Preferences targeting can evaluate much more than just computer attributes: date/time, local security group membership, language, and 25 other filtering options.&lt;/p&gt;  &lt;p&gt;Example WMI filters:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Operating system: Only target computers running Windows XP Professional.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Root\CimV2; Select * from Win32_OperatingSystem where Caption = "Microsoft Windows XP Professional"&lt;/p&gt;  &lt;p&gt;Example GP Preference target:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/grouppolicy/WindowsLiveWriter/WMIFilterFriday_DF45/clip_image002_2.jpg" mce_href="http://blogs.technet.com/blogfiles/grouppolicy/WindowsLiveWriter/WMIFilterFriday_DF45/clip_image002_2.jpg"&gt;&lt;img src="http://blogs.technet.com/blogfiles/grouppolicy/WindowsLiveWriter/WMIFilterFriday_DF45/clip_image002_thumb.jpg" style="border: 0px none; display: inline;" title="clip_image002" alt="clip_image002" mce_src="http://blogs.technet.com/blogfiles/grouppolicy/WindowsLiveWriter/WMIFilterFriday_DF45/clip_image002_thumb.jpg" border="0" width="504" height="179"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You could apply the Preferences targeting to one of your Power Plans within a GPO, and the WMI Filter to the GPO as a whole. Then, if the computer is running XP, the WMI filter will pass and the Preferences targeting will be evaluated &lt;i&gt;for this item only&lt;/i&gt;. If it’s Monday through Friday between 9am and 5pm, the Preferences item will be applied. &lt;/p&gt;  &lt;p&gt;Read more about WMI Filters &lt;a href="http://technet.microsoft.com/en-us/library/cc779036%28WS.10%29.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc779036%28WS.10%29.aspx"&gt;here&lt;/a&gt; on Technet. &lt;/p&gt;  &lt;p&gt;Read more about GP Preferences targeting &lt;a href="http://technet.microsoft.com/en-us/library/cc731892%28WS.10%29.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc731892%28WS.10%29.aspx"&gt;here&lt;/a&gt; on Technet, or &lt;a href="http://blogs.technet.com/grouppolicy/archive/2009/09/30/configuring-a-power-plan-with-group-policy-preferences-by-alan-burchill.aspx" mce_href="http://blogs.technet.com/grouppolicy/archive/2009/09/30/configuring-a-power-plan-with-group-policy-preferences-by-alan-burchill.aspx"&gt;here&lt;/a&gt; , &lt;a href="http://blogs.technet.com/grouppolicy/archive/2009/07/30/security-filtering-wmi-filtering-and-item-level-targeting-in-group-policy-preferences.aspx" mce_href="http://blogs.technet.com/grouppolicy/archive/2009/07/30/security-filtering-wmi-filtering-and-item-level-targeting-in-group-policy-preferences.aspx"&gt;here&lt;/a&gt;, and &lt;a href="http://blogs.technet.com/grouppolicy/archive/2009/06/24/gp-preferences-set-a-default-printer.aspx" mce_href="http://blogs.technet.com/grouppolicy/archive/2009/06/24/gp-preferences-set-a-default-printer.aspx"&gt;here&lt;/a&gt; on this blog. &lt;/p&gt;  &lt;p&gt;Final note: where there’s overlap, I always suggest using Preferences targeting. It’s more granular, the reporting is &lt;i&gt;much&lt;/i&gt; easier, and it runs faster than WMI filters. For more on WMI filter speed, read &lt;a href="http://www.gpoguy.com/MailList/tabid/58/view/topic/postid/1893/forumid/1/Default.aspx" mce_href="http://www.gpoguy.com/MailList/tabid/58/view/topic/postid/1893/forumid/1/Default.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Hope this helps, &lt;/p&gt;  &lt;p&gt;LiliaG, Group Policy PM&lt;/p&gt;  &lt;p&gt;@superlilia &lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3320216" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/Preferences/">Preferences</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/WMI+filter/">WMI filter</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/power+plan/">power plan</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/XP/">XP</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/overlap/">overlap</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/_4000_superlilia/">@superlilia</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/logon+time/">logon time</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/targetting/">targetting</category><category domain="http://blogs.technet.com/b/grouppolicy/archive/tags/precedence/">precedence</category></item></channel></rss>