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

<channel>
	<title>ldap389 &#187; gpo</title>
	<atom:link href="http://www.ldap389.info/category/gpo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ldap389.info</link>
	<description>Active Directory Blog</description>
	<lastBuildDate>Thu, 26 Jan 2012 11:37:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Signer une macro Excel avec un certificat issu de votre PKI</title>
		<link>http://www.ldap389.info/2011/08/26/signer-macro-excel-vba-avec-certificat-pki-adc/</link>
		<comments>http://www.ldap389.info/2011/08/26/signer-macro-excel-vba-avec-certificat-pki-adc/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 18:22:10 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[gpo]]></category>
		<category><![CDATA[Public Key Infrastructure]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[adm]]></category>
		<category><![CDATA[pki]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=1240</guid>
		<description><![CDATA[Cet article décrit comment signer un projet VBA sous Excel avec un certificat issu de votre PKI ADCS. Cette méthode peut s&#8217;appliquer pour n&#8217;importe quel projet VBA de la suite Office. Vous pouvez lire cette KB et cet article MSDN pour une introduction sur comment signer des projets VBA. Nous pouvons lire dans les deux [...]]]></description>
			<content:encoded><![CDATA[<p>Cet article décrit comment signer un projet VBA sous Excel avec un certificat issu de votre PKI ADCS. Cette méthode peut s&#8217;appliquer pour n&#8217;importe quel projet VBA de la suite Office. Vous pouvez lire cette <a href="http://support.microsoft.com/kb/206637/en-us">KB</a> et cet article <a href="http://msdn.microsoft.com/en-us/library/aa141471(v=office.10).aspx">MSDN</a> pour une introduction sur comment signer des projets VBA.<br />
<span id="more-1240"></span></p>
<p>Nous pouvons lire dans les deux articles mentionnés précédemment que le modèle de type &#8221;<a href="http://technet.microsoft.com/en-us/library/cc786499(WS.10).aspx">code signing</a>&#8221; est utilisé pour signer des macros. Nous allons donc <a href="http://technet.microsoft.com/en-us/library/cc740077(WS.10).aspx">créer un nouveau modèle</a> de certificat nommé &#8220;<em>Excel</em>&#8221; à partir du modèle &#8220;<em>code signing</em>&#8220;. Ce modèle aura les caractéristiques suivantes:</p>
<ul>
<li>L&#8217;<a href="http://technet.microsoft.com/en-us/library/cc778954(WS.10).aspx">autoenrollment</a> est configuré pour le groupe <em>ldap389-excel-dev,</em> ce groupe contient les utilisateurs autorisés à signer des projets VBA, à savoir vos dévelopeurs, dans notre exemple il contient l&#8217;utilisateur <em>ldap389-dev</em>.</li>
<li>Clef privée: 2048 bits non exportable.</li>
<li>Validité du certificat: 1 an.</li>
</ul>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/code-signing-vba-certificate-template1.jpg" rel="lightbox[1240]"><img class="aligncenter size-medium wp-image-1244" title="code-signing-vba-certificate-template" src="http://www.ldap389.info/wp-content/uploads/2011/08/code-signing-vba-certificate-template1-300x171.jpg" alt="" width="300" height="171" /></a></p>
<p>Une fois le modèle de certificats &#8220;Excel&#8221; configuré, le certificat sera automatiquement installé par <em>autoenrollment</em> dans le magasin de certificats de notre utilisateur <em>ldap389-dev</em> faisant partie du groupe <em>ldap389-excel-dev</em>:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/certificate-store.jpg" rel="lightbox[1240]"><img class="aligncenter size-medium wp-image-1245" title="certificate-store" src="http://www.ldap389.info/wp-content/uploads/2011/08/certificate-store-300x84.jpg" alt="" width="300" height="84" /></a></p>
<p>Il est conseillé de verrouiller par mot de passe son projet VBA avant de le signer, sous l&#8217;éditeur Visual Basic: click droit sur le projet, selectionner &#8220;propriétés&#8221; puis onglet &#8220;protection&#8221;. Pour signer son projet VBA: séléctionner son projet puis faire &#8220;outils\signature éléctronique&#8221;, cliquer sur &#8220;choisir&#8221;, le certificat présent dans son magasin local lui est alors proposé.</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/vba_lock_and_sign.jpg" rel="lightbox[1240]"><img class="aligncenter size-medium wp-image-1247" title="vba_lock_and_sign" src="http://www.ldap389.info/wp-content/uploads/2011/08/vba_lock_and_sign-300x264.jpg" alt="" width="300" height="264" /></a></p>
<p>Le projet est maintenant protégé et signé pour la période de validité du certificat que vous avez configuré dans votre modèle, dans notre cas pour le modèle &#8220;<em>Excel</em>&#8221; 1 an. Il faudra ressigner la macro et la redéployer avant l&#8217;expiration du certificat (dans notre cas le 16/08/2012).</p>
<p>A moins que vous n&#8217;utilisez un serveur de <em>TimeStamp</em> conformément à la <a href="http://www.ietf.org/rfc/rfc3161.txt">RFC 3161</a>, ceci afin de dater la macro lors de sa signature. Le développeur devra éditer la clef <em>HKEY_CURRENT_USER\Software\Microsoft\VBA\Security</em> comme est indiqué dans le chapitre <em>&#8220;Office files: enable time-stamping&#8221;</em> de ce <a href="http://surewebconsulting.com/code-signing-microsoft-office-files-with-vba-macros/">post</a>. L&#8217;édition de cette clef peut être déployée via GPO pour le groupe  <em>ldap389-excel-dev. </em>Dans notre cas nous utiliserons les valeurs de registre suivantes:</p>
<ul>
<li>TimeStampURL (REG_SZ): http://timestamp.verisign.com/scripts/timstamp.dll.</li>
<li>TimeStampRetryCount (REG_DWORD): 2.</li>
<li>TimeStampRetryDelay (REG_DWORD): 2.</li>
</ul>
<p>Une fois que vous avez signé les différents projets VBA qui ne l&#8217;étaient pas vous pouvez forcer le niveau de sécurité de Excel via GPO pour toutes les versions déployées dans votre entreprise, pour cela il vous faut utiliser les &#8220;Administrative Templates&#8221; de chaque version de Office:</p>
<ul>
<li><a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=9035">Office 2003 SP3</a> Administrative Template Files (ADM).</li>
<li><a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=22666">Office 2007</a> Administrative Template Files (ADM,ADMX/ADML).</li>
<li><a href="http://www.microsoft.com/download/en/details.aspx?id=18968">Office 2010</a> Administrative Template Files (ADM,ADMX/ADML).</li>
</ul>
<p>Vous pouvez créer une GPO qui empêche l’exécution des macros non signées pour toutes le versions de Excel des suites Office mentionnées ci dessus:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/gpo_macro_security.jpg" rel="lightbox[1240]"><img class="aligncenter size-medium wp-image-1248" title="gpo_macro_security" src="http://www.ldap389.info/wp-content/uploads/2011/08/gpo_macro_security-300x201.jpg" alt="" width="300" height="201" /></a></p>
<p>Les paramètres ci dessus sont les paramètres par défaut de Excel, mais il est toujours mieux de les forcer par GPO, au cas où ils seraient modifiés..</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Signer+une+macro+Excel+avec+un+certificat+issu+de+votre+PKI+http%3A%2F%2Fis.gd%2Fawhw02" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2011/08/26/signer-macro-excel-vba-avec-certificat-pki-adc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPO: Boucle de rappel et preferences des strategies de groupe</title>
		<link>http://www.ldap389.info/2011/08/10/gpo-boucle-de-rappel-et-preferences-des-strategies-de-groupe-item-level-targeting/</link>
		<comments>http://www.ldap389.info/2011/08/10/gpo-boucle-de-rappel-et-preferences-des-strategies-de-groupe-item-level-targeting/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 14:42:05 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[gpo]]></category>
		<category><![CDATA[gpmc]]></category>
		<category><![CDATA[gpp]]></category>
		<category><![CDATA[rsop]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=1215</guid>
		<description><![CDATA[Nous allons voir dans ce post comment les préférences des stratégies de groupe (Group Policy Preferences) apportent de nouvelles fonctionnalités dans le mode de traitement par boucle de rappel (loopback processing). A propos du loopback processing je vous conseille la lecture de cet article en deux parties de 4sysops (partie 1, partie2). Sur des serveurs [...]]]></description>
			<content:encoded><![CDATA[<p>Nous allons voir dans ce post comment les préférences des stratégies de groupe (<a href="http://www.microsoft.com/download/en/details.aspx?id=24449">Group Policy Preferences</a>) apportent de nouvelles fonctionnalités dans le mode de traitement par boucle de rappel (<a href="http://support.microsoft.com/kb/231287/en-us">loopback processing</a>).</p>
<p>A propos du loopback processing je vous conseille la lecture de cet article en deux parties de 4sysops (<a href="http://4sysops.com/archives/group-policy-loopback-processing-part-1-usage-scenarios/">partie 1</a>, <a href="http://4sysops.com/archives/group-policy-loopback-processing-part-2-replace-mode-and-merge-mode/">partie2</a>).<br />
<span id="more-1215"></span></p>
<p>Sur des serveurs TS/Citrix nous utilisons principalement le traitement par boucle de rappel en mode <a href="http://technet.microsoft.com/en-us/library/cc782810%28WS.10%29.aspx">replace</a>. Ceci afin de définir le même environnement utilisateur pour tout le monde, la GPO suivante est appliqué à tous les serveurs TS/Citrix de la même OU:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/boucle_rappel_replace.jpg" rel="lightbox[1215]"><img class="aligncenter size-medium wp-image-1219" title="boucle_rappel_replace" src="http://www.ldap389.info/wp-content/uploads/2011/08/boucle_rappel_replace-300x294.jpg" alt="" width="300" height="294" /></a></p>
<p>Dans cette OU sont donc situés différents serveurs Citrix/TS hébergeant chacun des applications différentes, celles ci peuvent nécessiter un paramétrage utilisateur différent: Dans notre exemple nous prendrons comme paramètre le titre de la barre Internet Explorer:</p>
<ul>
<li>Titre barre IE &#8220;Web Application 1&#8243; pour les utilisateurs du groupe &#8220;Qualif-Xen-Usr-Param1&#8243; se connectant aux objets ordinateurs TS/Citrix membres de &#8220;Qualif-Xen-srv-Param1&#8243; situés dans l&#8217;OU &#8220;460-XenApp6&#8243;.</li>
<li>Titre barre IE &#8220;Web Application 2&#8243; pour les utilisateurs du groupe &#8220;Qualif-Xen-usr-Param2&#8243; se connectant aux objets ordinateurs TS/Citrix membres de &#8220;Qualif-Xen-srv-Param2&#8243; situés dans l&#8217;OU &#8220;460-XenApp6&#8243;.</li>
</ul>
<p>Sans utiliser les GPP (Group Policy Preferences) nous ne pouvons appliquer un paramètre utilisateur en fonction du groupe d&#8217;ordinateur sur lequel l&#8217;utilisateur se connecte, nous ne pouvons qu&#8217;appliquer un filtrage de sécurité pour un groupe d&#8217;utilisateurs. Les GPOs avec paramétrage utilisateur liés à l&#8217;OU &#8220;460-XenApp6&#8243; sont donc les suivantes:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/gpo_user_no_gpp.jpg" rel="lightbox[1215]"><img class="aligncenter size-medium wp-image-1220" title="gpo_user_no_gpp" src="http://www.ldap389.info/wp-content/uploads/2011/08/gpo_user_no_gpp-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>Quand un utilisateur fait partie du groupe &#8220;Qualif-Xen-Usr-Param1&#8243; le titre &#8220;Web Application 1&#8243; est bien appliqué, de même quand un autre utilisateur fait partie du groupe &#8220;Qualif-Xen-Usr-Param2&#8243; nous aurons le titre &#8220;Web Application 2&#8243;. Mais si un même utilisateur fait partie des groupes &#8220;Qualif-Xen-Usr-Param1&#8243; et &#8220;Qualif-Xen-Usr-Param2&#8243; alors il se verra toujours appliquer le paramétrage &#8220;Web Application 1&#8243;, quelque soit le serveur (donc application) auquel il se connecte, ceci à cause de l&#8217;ordre d&#8217;application des GPOs:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/title_bar_ctx-ts.jpg" rel="lightbox[1215]"><img class="aligncenter size-medium wp-image-1221" title="title_bar_ctx-ts" src="http://www.ldap389.info/wp-content/uploads/2011/08/title_bar_ctx-ts-300x227.jpg" alt="" width="300" height="227" /></a>Le seul moyen de résoudre ce problème sans GPP est de placer les serveurs &#8220;Web Application 1&#8243; et &#8220;Web Application 2&#8243; dans des OU différentes et de lier chaque GPO avec paramétrage utilisateur à chaque OU . Ce qui n&#8217;est pas pratique en termes d&#8217;administration, car nos serveurs Citrix/TS ont des GPOs communes qu&#8217;il faudra penser à lier sur les deux OU (l&#8217;activation du loopback sur les objets ordinateurs par exemple).</p>
<p>Avec les GPP nous avons la fonction d&#8217;<a href="http://technet.microsoft.com/en-us/library/cc733022.aspx"><em>Item level Targeting</em></a>, qui va nous permettre de conserver ces serveurs dans la même OU. En effet le paramètre de GPO &#8220;Title Bar Text&#8221; n&#8217;est rien d&#8217;autre que l&#8217;édition de la valeur &#8220;Window Title&#8221; de la clef HKEY_CURRENT_USER\Software\Microsft\Internet Explorer\Main. Il peut donc être déployé via GPP et nous utiliserons l<em>&#8216;item level targeting</em> pour indiquer que le paramètre &#8220;Web Application 1&#8243; ne s&#8217;applique que si l&#8217;utilisateur est membre du groupe  &#8220;Qualif-Xen-Usr-Param1&#8243; et qu&#8217;il se connecte sur un serveur membre du groupe &#8220;Qualif-Xen-srv-Param1&#8243;:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/item_level_tergeting.jpg" rel="lightbox[1215]"><img class="aligncenter size-medium wp-image-1222" title="item_level_tergeting" src="http://www.ldap389.info/wp-content/uploads/2011/08/item_level_tergeting-300x105.jpg" alt="" width="300" height="105" /></a>les GPOs avec paramétrage utilisateur utilisant les GPP et liés à l&#8217;OU &#8220;460-XenApp6&#8243; sont donc les suivantes:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/gpo_user_gpp_enabled.jpg" rel="lightbox[1215]"><img class="aligncenter size-medium wp-image-1223" title="gpo_user_gpp_enabled" src="http://www.ldap389.info/wp-content/uploads/2011/08/gpo_user_gpp_enabled-300x211.jpg" alt="" width="300" height="211" /></a></p>
<p>Sur nos deux serveurs le titre de la barre IE est bien différent pour un utilisateur qui appartient aux groupes &#8220;Qualif-Xen-Usr-Param1&#8243; et &#8220;Qualif-Xen-Usr-Param2&#8243;:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/08/title_bar_ctx-ts_different.jpg" rel="lightbox[1215]"><img class="aligncenter size-medium wp-image-1224" title="title_bar_ctx-ts_different" src="http://www.ldap389.info/wp-content/uploads/2011/08/title_bar_ctx-ts_different-300x147.jpg" alt="" width="300" height="147" /></a>Ne pas oublier que pour obtenir le jeu de stratégies résultant pour les GPP il faut utiliser la GPMC comme expliqué dans mon dernier <a href="http://www.ldap389.info/2011/06/11/clickodrome-histoires-mmc-gpmc-dnsmgmt-dsa/">post</a>.</p>
<p>Du moment que le paramétrage utilisateur est éditable via le registre ou tout autre objet de GPP (raccourci, map réseau&#8230;) alors cette méthode peut être appliquée pour éviter de multiplier les OUs de type Citrix/TS.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=GPO%3A+Boucle+de+rappel+et+preferences+des+strategies+de+groupe+http%3A%2F%2Fis.gd%2FmV35NZ" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2011/08/10/gpo-boucle-de-rappel-et-preferences-des-strategies-de-groupe-item-level-targeting/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Clickodrome: Histoires de MMC&#8230;</title>
		<link>http://www.ldap389.info/2011/06/11/clickodrome-histoires-mmc-gpmc-dnsmgmt-dsa/</link>
		<comments>http://www.ldap389.info/2011/06/11/clickodrome-histoires-mmc-gpmc-dnsmgmt-dsa/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 12:59:34 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[gpo]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[gpmc]]></category>
		<category><![CDATA[mmc]]></category>
		<category><![CDATA[rsop]]></category>
		<category><![CDATA[vbs]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=1182</guid>
		<description><![CDATA[Nous allons dans ce post référencer différents cas intéressants que nous avons pu rencontrer lors de l&#8217;utilisation de notre principal outil de travail: Les consoles de management MS (MMC) , et oui on ne travaille pas tout le temps avec Powershell&#8230; Nous allons parler DNS (dnsmgmt.msc), GPOs (rsop.msc et gpmc.msc) et finalement utilisateurs et ordinateurs [...]]]></description>
			<content:encoded><![CDATA[<p>Nous allons dans ce post référencer différents cas intéressants que nous avons pu rencontrer lors de l&#8217;utilisation de notre principal outil de travail: Les consoles de management MS (MMC) , et oui on ne travaille pas tout le temps avec Powershell&#8230;</p>
<p>Nous allons parler DNS (<em>dnsmgmt.msc</em>), GPOs (<em>rsop.msc</em> et <em>gpmc.msc</em>) et finalement utilisateurs et ordinateurs AD (<em>dsa.msc</em>) et voir quels problèmes nous avons pu rencontrer lors de l&#8217;utilisation de ces consoles, que ce soit sous AD 2000/2003 et AD 2008.<br />
<span id="more-1182"></span></p>
<p><span style="text-decoration: underline;"><strong>DNS</strong></span></p>
<ul>
<li>Vous ne pouvez pas gérer de serveurs DNS Windows 2008R2 avec une console d&#8217;administration DNS (<em>dnsmgmt.msc</em>) sous Windows 2003/XP et versions inférieures, car le niveau de sécurité a été augmenté au niveau RPC, pour plus de détails vous pouvez lire <a href="http://support.microsoft.com/kb/2027440">cette KB</a>. La version 2003/XP de <em>dnscmd.exe</em> n&#8217;est pas compatible non plus: Attention lors de vos migrations de DCs vers 2008R2, vos anciens scripts utilisant la version 2003/XP de <em>dnscmd.exe </em>seront à mettre à jour.</li>
</ul>
<ul>
<li>L&#8217;effacement de <a href="http://social.technet.microsoft.com/Forums/en-US/winserverNIS/thread/38d473d8-ceae-4855-bc97-2c43f9783690">glue records fait freezer</a> la console <em>dnsmgmt.msc</em> sous Windows 2008R2, il vous faudra faire cette manipulation avec <em><a href="http://technet.microsoft.com/en-us/library/cc759561%28WS.10%29.aspx">dnscmd.exe</a></em>.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>GPOs</strong></span></p>
<ul>
<li>Les paramètres de <a href="http://technet.microsoft.com/en-us/library/cc731892(WS.10).aspx">préférences de stratégies de groupe</a> (GPP) n&#8217;apparaissent pas quand vous faites un <em>rsop.msc</em> sur une machine cliente: Par contre, si vous<a href="http://social.technet.microsoft.com/Forums/hu-HU/winserverGP/thread/480dff2a-bb64-4916-b1c5-255d87f1b676"> utilisez la GPMC pour obtenir les paramètres de GPOs </a>appliqués à une machine vous aurez cette information. Pour cela utiliser le <em>Group Policy Results Wizard</em>:</li>
</ul>
<p><img class="aligncenter size-medium wp-image-1189" title="gpmc-rsop" src="http://www.ldap389.info/wp-content/uploads/2011/06/gpmc-rsop-300x245.jpg" alt="" width="300" height="245" /></p>
<p>&nbsp;</p>
<ul>
<li>Vous ne pouvez pas installer la console <em>gpmc.msc</em> sur Windows 2003 x64, pour y <a href="http://blog.freyguy.com/archives/2008/05/04/using-gpmc-group-policy-management-console-on-windows-2003-x64/">arriver il vous faut modifier le package MSI </a>avec un éditeur comme Orca. Les scripts <em>vbs</em> pour manipuler les GPOs ne fonctionneront pas (si quelqu&#8217;un a un solution ?), l&#8217;appel <em>CreateObject(&#8220;GPMGMT.GPM&#8221;) </em>vous retournera l&#8217;erreur:</li>
<blockquote><p>Microsoft VBScript runtime error: ActiveX component can&#8217;t create object: &#8216;GPMGMT.GPM&#8217;</p></blockquote>
<p style="text-align: left;">L&#8217;enregistrement de la DLL <em>gpmgmt.dll</em> ne résout pas le problème.</p>
</ul>
<p><span style="text-decoration: underline;"><strong>Utilisateurs et ordinateurs AD (ADUC ou DSA.MSC)<br />
</strong></span></p>
<p>Lorsque vous utilisez la console <em>dsa.msc</em> avec les RSAT vous avez l&#8217;onglet <em><a href="http://policelli.com/blog/archive/2008/08/28/built-in-attribute-editor-in-windows-server-2008/">attribute editor</a> </em>qui vous permet de vous séparer de votre console <em><a href="http://technet.microsoft.com/en-us/library/bb124152(EXCHG.65).aspx">adsiedit.msc</a>: </em></p>
<ul>
<li>Si vous gérez un AD 2000/2003 avec les RSAT vous ne verrez pas l&#8217;onglet <em>attribute editor</em> apparaitre sans réaliser <a href="http://blogs.dirteam.com/blogs/jorge/archive/2009/08/05/managing-w2k3-ad-domain-through-windows-vista-or-windows-server-2008-r2.aspx">cette manipulation</a>.</li>
<p>&nbsp;</p>
<li>Sous AD 2008 cet onglet apparait dans l&#8217;ADUC, mais lorsque vous éditez un objet suite à une recherche, cet onglet <a href="http://social.technet.microsoft.com/Forums/en-US/winserverManagement/thread/6e6ef6bd-b5c9-4f16-b346-097832e3b93c/">n&#8217;est pas disponible</a>. Par contre si vous utilisez la console <a href="http://blogs.technet.com/b/askds/archive/2011/06/16/fun-with-the-ad-administrative-center.aspx">ADAC</a> (disponible nativement sous 2008R2), cet onglet apparaît bien dans la section &#8220;Extensions&#8221; quand vous faites une recherche sur un objet.</li>
</ul>
<p>Malgré ces quelques comportements bizarres on continue a se servir de nos MMC qui nous facilitent bien la vie, sinon on aurait plus que du <a href="http://msdn.microsoft.com/en-us/library/ms723891(v=vs.85).aspx">Windows Server Core</a> <img src='http://www.ldap389.info/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> , ce qui nous ferait gagner <a href="http://technet.microsoft.com/en-us/library/cc753802(WS.10).aspx">un peu de stockage</a>&#8230; (voir chapitre <strong>Less disk space required</strong>)</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Clickodrome%3A+Histoires+de+MMC%E2%80%A6+http%3A%2F%2Fis.gd%2FOerBlK" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2011/06/11/clickodrome-histoires-mmc-gpmc-dnsmgmt-dsa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Powershell: configurer paramètres firewall via GPO</title>
		<link>http://www.ldap389.info/2011/03/08/powershell-configurer-firewall-gpo-2008-netsh/</link>
		<comments>http://www.ldap389.info/2011/03/08/powershell-configurer-firewall-gpo-2008-netsh/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 13:06:46 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[gpo]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[gpmc]]></category>
		<category><![CDATA[netsh]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[sysvol]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=1041</guid>
		<description><![CDATA[Dans ce post nous allons étudier comment mettre en place des règles pare-feu via GPO avec Windows 2008 Server. Quand vous intallez un composant Windows les ouvertures nécessaires se font automatiquement, pour certaines applications la configuration firewall ad-hoc est appliquée lors de l&#8217;installation. Par contre d&#8217;autres nécessitent l&#8217;ouverture explicite de certains ports, nous allons voir [...]]]></description>
			<content:encoded><![CDATA[<p>Dans ce post nous allons étudier comment mettre en place des règles pare-feu via GPO avec Windows 2008 Server. Quand vous intallez un composant Windows les <a href="http://msdn.microsoft.com/en-us/library/bb757002.aspx">ouvertures nécessaires </a>se font automatiquement, pour certaines applications la configuration firewall ad-hoc est appliquée lors de l&#8217;installation. Par contre d&#8217;autres nécessitent l&#8217;ouverture explicite de certains ports, nous allons voir comment importer ces paramètres dans une GPO via la commande <a href="http://technet.microsoft.com/en-us/library/cc771920(WS.10).aspx"><em>netsh advfirewall</em></a>.<br />
<span id="more-1041"></span></p>
<p>Tout d&#8217;abord cherchez les règles nécessaires au bon fonctionnement de votre application en éditant les règles firewall locales de votre serveur de tests, ces règles auront un préfixe donné (<em>$prefix=LDAP389</em> dans notre exemple). Nous exportons ces règles dans un ficher <em>wfw</em> avec la commande:</p>
<blockquote><p>netsh advfirewall export $wfwfile</p></blockquote>
<p>Nous voulons ensuite importer les règles <em>$prefix=LDAP389</em> dans une GPO ($GPONAME), ceci afin de les appliquer à un ensemble de serveurs:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/03/fw33.jpg" rel="lightbox[1041]"><img class="aligncenter size-medium wp-image-1050" title="fw33" src="http://www.ldap389.info/wp-content/uploads/2011/03/fw33-300x110.jpg" alt="" width="300" height="110" /></a></p>
<p>Pour importer ces paramètres vous devez utiliser <em>netsh advfirewall</em> puis vous connecter au magasin de données d&#8217;objets de stratégie de groupes. Or celui-ci n&#8217;est pas directement accessible via la commande <em>&#8220;netsh advfirewall set store gpo=domain/gpo_name&#8221;:</em></p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/03/fw4.jpg" rel="lightbox[1041]"><img class="aligncenter size-medium wp-image-1052" title="fw4" src="http://www.ldap389.info/wp-content/uploads/2011/03/fw4-300x214.jpg" alt="" width="300" height="214" /></a></p>
<p>Ce qui donne en PsH, merci <a href="http://www.vmdude.fr">VMdude</a> <img src='http://www.ldap389.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$stream</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#91;</span>System.IO.StreamWriter<span style="color: #000000;">&#93;</span> <span style="color: #800080;">$netshinput</span>
<span style="color: #800080;">$stream</span>.WriteLine<span style="color: #000000;">&#40;</span><span style="color: #800000;">'advfirewall'</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$stream</span>.WriteLine<span style="color: #000000;">&#40;</span><span style="color: #800000;">'set store gpo='</span> <span style="color: pink;">+</span> <span style="color: #800080;">$domainfqdn</span> <span style="color: pink;">+</span> <span style="color: #800000;">'\'</span> <span style="color: pink;">+</span> <span style="color: #800080;">$GPONAME</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$stream</span>.WriteLine<span style="color: #000000;">&#40;</span><span style="color: #800000;">'show store'</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$stream</span>.WriteLine<span style="color: #000000;">&#40;</span><span style="color: #800000;">'import '</span> <span style="color: pink;">+</span> <span style="color: #800080;">$wfwfile</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$stream</span>.WriteLine<span style="color: #000000;">&#40;</span><span style="color: #800000;">'exit'</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$stream</span>.close<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
&nbsp;
 <span style="color: #008080; font-weight: bold;">get-content</span> <span style="color: #800080;">$netshinput</span> <span style="color: pink;">|</span> netsh</pre></div></div>

<p>Via cette commande tous les paramètres d&#8217;ouverture firewall sont importés dans la GPO, pas seulement ceux explicitement créés, ce qui peut ralentir l&#8217;application de cette dernière. Nous allons grace au cmdlet <a href="http://technet.microsoft.com/en-us/library/ee461060.aspx">Remove-GPRegistryValue</a>, effacer les règles dont le préfixe n&#8217;est pas <em>$prefix=LDAP389 </em>et donc garder seulement les règles qui nous intéressent.</p>
<p>Avant d&#8217;effacer ces paramètres nous devons déterminer sur quel DC (<em>$bindserver</em>) la commande <em>netsh advfirewall </em>les a édités, pour cela il faut déterminer la cible active correspondant au partage SYSVOL:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/03/fw223.jpg" rel="lightbox[1041]"><img class="aligncenter size-medium wp-image-1048" title="fw22" src="http://www.ldap389.info/wp-content/uploads/2011/03/fw223-300x127.jpg" alt="" width="300" height="127" /></a></p>
<p>Pour avoir la valeur de <em>$bindserver</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$dfs</span> <span style="color: pink;">=</span> dfsutil cache referral
<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$dfss</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$dfs</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$dfss</span> <span style="color: #FF0000;">-like</span> <span style="color: #800000;">'*ACTIVE TARGETSET*'</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-and</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$dfss</span> <span style="color: #FF0000;">-like</span> <span style="color: #800000;">'*sysvol*'</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #800080;">$bindserver</span> <span style="color: pink;">=</span> <span style="color: #800080;">$dfss</span>.split<span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;\&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#91;</span><span style="color: #804000;">1</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#125;</span></pre></div></div>

<p>Reste donc a rechercher les règles pare-feu qui ne commencent pas par <em>$prefix=LDAP389 </em>et les effacer sur DC <em>$bindserver</em>,<em> </em>ceci afin de s&#8217;affranchir des problèmes de réplication:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008000;"># Get GPO reg settings for FW rules</span>
<span style="color: #800080;">$gporeg</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>GPRegistryValue <span style="color: #008080; font-style: italic;">-Name</span> <span style="color: #800080;">$GPONAME</span> <span style="color: pink;">-</span>server <span style="color: #800080;">$bindserver</span> <span style="color: #008080; font-style: italic;">-Key</span> <span style="color: #800000;">&quot;HKLM\SOFTWARE\Policies\Microsoft\WindowsFirewall\FirewallRules&quot;</span>
&nbsp;
<span style="color: #008000;"># Remove FW rules which do not match $prefix*</span>
&nbsp;
<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$gporegs</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$gporeg</span><span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #000000;">&#123;</span> <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$gporegs</span>.Value <span style="color: #FF0000;">-notlike</span> <span style="color: #800000;">'*Name='</span> <span style="color: pink;">+</span> <span style="color: #800080;">$prefix</span> <span style="color: pink;">+</span> <span style="color: #800000;">'*'</span><span style="color: #000000;">&#41;</span>
 <span style="color: #000000;">&#123;</span>Remove<span style="color: pink;">-</span>GPRegistryValue <span style="color: #008080; font-style: italic;">-Name</span> <span style="color: #800080;">$GPONAME</span> <span style="color: pink;">-</span>server <span style="color: #800080;">$bindserver</span> <span style="color: #008080; font-style: italic;">-key</span> <span style="color: #800000;">&quot;HKLM\SOFTWARE\Policies\Microsoft\WindowsFirewall\FirewallRules&quot;</span> <span style="color: pink;">-</span>ValueName <span style="color: #800080;">$gporegs</span>.ValueName<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Pour télécharger le script complet c&#8217;est ici:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/03/fw.ps1"><img class="aligncenter size-full wp-image-83" title="tool" src="http://www.ldap389.info/wp-content/uploads/2010/03/tool1.png" alt="" width="48" height="48" /></a></p>
<p>Vous devez éditer les valeurs:</p>
<ul>
<li><em>$prefix</em>: Péfixe des règles FW éditées manuellement.</li>
<li><em>$GPONAME</em>: Nom de la GPO à éditer pour importer les paramètres FW.</li>
</ul>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Powershell%3A+configurer+param%C3%A8tres+firewall+via+GPO+http%3A%2F%2Fis.gd%2FidOYoG" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2011/03/08/powershell-configurer-firewall-gpo-2008-netsh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extension de schema: Active Directory 2008</title>
		<link>http://www.ldap389.info/2011/01/22/extension-de-schema-active-directory-2008-r2-adprep/</link>
		<comments>http://www.ldap389.info/2011/01/22/extension-de-schema-active-directory-2008-r2-adprep/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 01:30:33 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[BDD AD]]></category>
		<category><![CDATA[gpo]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[adprep]]></category>
		<category><![CDATA[ntds.dit]]></category>
		<category><![CDATA[rodc]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[sysvol]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=885</guid>
		<description><![CDATA[Dans ce post nous allons décrire quelques problèmes que vous pouvez rencontrer lors de l&#8217;extension de schéma pour Active Directory 2008 ou 2008R2. Les étapes de cette preparation de schéma sont décrites dans ce post de askDS. Commande: adprep /domainprep /gpprep:  Problèmes de droits: Lors du lancement de cette commande, vous avez un code d&#8217;erreur [...]]]></description>
			<content:encoded><![CDATA[<p>Dans ce post nous allons décrire quelques problèmes que vous pouvez rencontrer lors de l&#8217;extension de schéma pour Active Directory 2008 ou 2008R2. Les étapes de cette preparation de schéma sont décrites dans ce post de <a href="http://blogs.technet.com/b/askds/archive/2008/11/11/so-you-want-to-upgrade-to-windows-2008-domain-controllers-adprep.aspx">askDS</a>.<br />
<span id="more-885"></span></p>
<ol>
<li><span style="text-decoration: underline;">Commande: <em>adprep /domainprep /gpprep</em>:</span> 
<ul>
<li><span style="text-decoration: underline;">Problèmes de droits:</span></li>
<p>Lors du lancement de cette commande, vous avez un code d&#8217;erreur &#8220;<em>LDAP API ldap_modify_ext_s() finished, return code is 0&#215;32</em>&#8221; alors il s&#8217;agit problème de droits, la commande a pourtant bien été lancée avec un compte membre de <em>&#8220;domain admins&#8221;</em> . En ouvrant le fichier <em>adprep.log</em> nous avons les informations suivantes:</p>
<blockquote><p>[2010/11/26:15:12:19.468]<br />
Adprep was about to call the following LDAP API. ldap_modify_s(). The entry to modify is CN={64E2BDA7-0FC4-48DA-BB70-79261A7B4822},CN=Policies,CN=System<br />
,DC=ldap389,DC=info.<br />
[2010/11/26:15:12:19.468]<br />
LDAP API ldap_modify_ext_s() finished, return code is 0&#215;32</p></blockquote>
<p>Il s&#8217;agit d&#8217;un problème sur une GPO qui intervient lors de la partie <em>gpprep </em>du setup. Nous allons donc vérifier les permissions sur celle ci:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2011/01/adprep_gpprep.jpg" rel="lightbox[885]"><img class="aligncenter size-medium wp-image-886" title="adprep_gpprep" src="http://www.ldap389.info/wp-content/uploads/2011/01/adprep_gpprep-300x158.jpg" alt="" width="300" height="158" /></a></p>
<p>L&#8217;administrateur qui a créé la GPO a retiré les droits au groupe <em>&#8220;domain admins&#8221;, </em>pour corriger cela il faut se mettre propriétaire de l&#8217;objet et rétablir les droits sur celui-ci. Une fois cela corrigé, la commande <em>adprep /domainprep /gpprep</em> passe sans problème.</p>
<li><span style="text-decoration: underline;">Remarque concernant le staging:</span></li>
<p>Si l&#8217;intervalle de réplication entre certains de vos contrôleurs de domaine est long (i.e. un de vos DCs réplique une fois tous les X jours avec ses partenaires de réplication) alors le <a href="http://blogs.technet.com/b/filecab/archive/2006/03/20/422544.aspx">répertoire de staging</a> de votre SYSVOL peut augmenter de manière conséquente, ceci de manière temporaire. En effet, l&#8217;ensemble des GPOs de votre domaine étant modifiées par la partie <em>gpprep</em> du setup, toutes ces modifications doivent être répliquées sur l&#8217;ensemble des DCs, le répertoire de staging voit alors sa taille augmenter tant que le DC répliquant le moins souvent n&#8217;a pas répliqué les modifications, cette taille baisse au fur et à mesure que ce DC réplique les modifications sur son partage SYSVOL.</ul>
</li>
<li><span style="text-decoration: underline;">Commande <em>adprep /rodcprep:</em></span></li>
<p>Si vous rencontrez le message d&#8217;erreur suivant: &#8220;<em>Adprep could not contact a replica for partition DC=DomainDnsZones,DC=ldap389,DC=info</em>&#8220;, alors il vous suffit de lancer le script correctif fournit dans cette <a href="http://support.microsoft.com/kb/949257/en-us">KB</a>.</ol>
<p>Si vous désirez lire plus d&#8217;articles concernant les erreurs avec <em>adprep</em> je vous conseille la lecture de cet <a href="http://technet.microsoft.com/en-us/library/dd464018(WS.10).aspx#BKMK_TshootAdprep">article technet</a> et de ce post de <a href="http://blogs.technet.com/b/askds/archive/2008/12/15/troubleshooting-adprep-errors.aspx">askDS</a>.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Extension+de+schema%3A+Active+Directory+2008+http%3A%2F%2Fis.gd%2FwtO6Bf" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2011/01/22/extension-de-schema-active-directory-2008-r2-adprep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Powershell: Editer permissions sur une GPO</title>
		<link>http://www.ldap389.info/2010/11/26/powershell-editer-permission-gpo-sddl/</link>
		<comments>http://www.ldap389.info/2010/11/26/powershell-editer-permission-gpo-sddl/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 00:54:50 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[gpo]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[gpmc]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[sddl]]></category>
		<category><![CDATA[sysvol]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=812</guid>
		<description><![CDATA[Afin de changer les permissions sur une GPO vous pouvez utiliser le CmdLet Set-GPPermissions disponible avec les RSAT (import-module grouppolicy). Ce CmdLet ne permet pas de mettre des permissions du type &#8220;deny&#8221; ou de remplacer directement des permissions. Nous allons voir comment remplacer des permissions à l&#8217;aide du Security Descriptor Definition Language qui est utilisé [...]]]></description>
			<content:encoded><![CDATA[<p>Afin de changer les permissions sur une GPO vous pouvez utiliser le CmdLet <a href="http://technet.microsoft.com/en-us/library/ee461038.aspx">Set-GPPermissions</a> disponible avec les RSAT (<strong>import-module grouppolicy</strong>). Ce CmdLet ne permet pas de mettre des permissions du type &#8220;deny&#8221; ou de remplacer directement des permissions. Nous allons voir comment remplacer des permissions à l&#8217;aide du <a href="http://msdn.microsoft.com/en-us/library/aa379567(VS.85).aspx">Security Descriptor Definition Language</a> qui est utilisé pour éditer les permissions de tous types d&#8217;objets (système de fichiers, objets AD&#8230;). Pour mieux appréhender ce langage et un outil pour lire le contenu d&#8217;une chaine SDDL je vous conseille cet <a href="http://blogs.dirteam.com/blogs/jorge/archive/2008/03/26/parsing-sddl-strings.aspx">article</a>.</p>
<p>L&#8217;opération de remplacement de permission sur une GPO peut servir quand un administrateur d&#8217;une OU créé une GPO, il en est alors propriétaire et ne donne pas les droits en contrôle total au groupe d&#8217;administration auquel il appartient. Sur notre domaine composé de deux sites, un par OU, nous avons deux types de GPOs:<span id="more-812"></span></p>
<ul>
<li>Les GPOs nommés &#8220;GLOBAL-*&#8221; créés par les administrateurs du domaine, et communes au SITE1 et au SITE2, elles ne sont pas modifiables par les administrateurs de site:</li>
</ul>
<p style="text-align: center;"><a href="http://www.ldap389.info/wp-content/uploads/2010/11/GLOBALGPO.jpg" rel="lightbox[812]"><img class="size-medium wp-image-818  aligncenter" title="DOMAIN_GPO" src="http://www.ldap389.info/wp-content/uploads/2010/11/GLOBALGPO-300x120.jpg" alt="" width="300" height="120" /></a></p>
<ul>
<li>Les GPOs nommés &#8220;SITEx-*&#8221; créés par les administrateurs de l&#8217;OU SITE1 ou SITE2, lors de leur création par l&#8217;administrateur de site c&#8217;est le compte utilisateur de ce dernier (par ex: <em>Site1-UserAdmin1</em> pour le SITE1) qui a les permissions sur la GPO:</li>
</ul>
<p style="text-align: center;"><a href="http://www.ldap389.info/wp-content/uploads/2010/11/SITE1GPO-NOK.jpg" rel="lightbox[812]"><img class="size-medium wp-image-819    aligncenter" title="OU-GPO-NOK" src="http://www.ldap389.info/wp-content/uploads/2010/11/SITE1GPO-NOK-300x130.jpg" alt="" width="300" height="130" /></a></p>
<p>Il faut alors remplacer les permissions de l&#8217;utilisateur <em>Site1-UserAdmin1</em> avec le groupe<em> SITE1-ADM</em> pour que tous les administrateurs puissent modifier la GPO:</p>
<p style="text-align: center;"><a href="http://www.ldap389.info/wp-content/uploads/2010/11/SITE1GPO-OK.jpg" rel="lightbox[812]"><img class="size-medium wp-image-820    aligncenter" title="SITE-GPO-OK" src="http://www.ldap389.info/wp-content/uploads/2010/11/SITE1GPO-OK-300x126.jpg" alt="" width="300" height="126" /></a></p>
<p>Le pack PowerShell utilisé sera Active Roles Management Shell for AD de <a href="http://www.quest.com/powershell/activeroles-server.aspx">Quest</a>, le but du script est de remplacer les permissions des GPOs nommés &#8220;SITE1-*&#8221; si le groupe<em> SITE1-ADM</em> n&#8217;a pas de droits d&#8217;administration sur ces dernières (critère utilisé: peut effacer la GPO).</p>
<p>Une fois les GPOs nommés &#8220;SITE1-*&#8221; trouvées nous utilisons le CmdLet <a href="http://wiki.powergui.org/index.php/Get-QADPermission">Get-QADPermission</a> pour lire les permissions sur celles ci. Si le groupe <em>SITE1-ADM</em> n&#8217;a pas de droits d&#8217;administration sur une GPO, alors nous cherchons le compte ($AdminAccount) qui a les droits &#8220;effacer&#8221; sur celle ci à l&#8217;aide de la commande:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;">Get<span style="color: pink;">-</span>QADPermission <span style="color: #800080;">$gpo</span>  <span style="color: pink;">|</span>  <span style="color: #008080; font-weight: bold;">foreach-object</span> <span style="color: #000000;">&#123;</span><span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span> <span style="color: #000080;">$_</span>.AccountName <span style="color: #FF0000;">-like</span> <span style="color: #800080;">$domain</span> <span style="color: pink;">+</span> <span style="color: #800000;">'\*'</span> <span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-and</span> <span style="color: #000000;">&#40;</span><span style="color: #000080;">$_</span>.Rights <span style="color: #FF0000;">-like</span> <span style="color: #800000;">'*delete*'</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><span style="color: #800080;">$AdminAccount</span> <span style="color: pink;">=</span> <span style="color: #000080;">$_</span>.AccountName<span style="color: #000000;">&#125;</span><span style="color: #000000;">&#125;</span></pre></div></div>

<p>Une fois le compte $AdminAccount trouvé il nous faut récupérer son SID ($oldsid) et exporter les permissions de la GPO au format SDDL, ceci grâce au CmdLet <a href="http://wiki.powergui.org/index.php/Get-QADObjectSecurity">Get-QADObjectSecurity</a>. Puis il faut remplacer dans la chaîne SDDL le SID du compte administrateur<em> Site1-UserAdmin1</em> ($oldsid) par le SID du groupe d&#8217;administration <em>SITE1-ADM</em> ($newsid), enfin il nous faut injecter les nouvelles permissions dans la GPO grâce aux commandes suivantes, trouvées sur un post de <a href="http://bsonposh.com/archives/505">BSonPoSH</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$sddlgpc2</span> <span style="color: pink;">=</span> <span style="color: #800080;">$sddlgpc</span>.replace<span style="color: #000000;">&#40;</span><span style="color: #800080;">$oldsid</span><span style="color: pink;">,</span><span style="color: #800080;">$newsid</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$DE</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#91;</span>ADSI<span style="color: #000000;">&#93;</span><span style="color: #800000;">&quot;LDAP://$gpodn&quot;</span>
<span style="color: #800080;">$DE</span>.psbase.ObjectSecurity.SetSecurityDescriptorSddlForm<span style="color: #000000;">&#40;</span><span style="color: #800080;">$sddlgpc2</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$DE</span>.psbase.commitchanges<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span></pre></div></div>

<p>A ce stade là vous avez édité la sécurité sur une seule partie de la GPO: Le <a href="http://searchwindowsserver.techtarget.com/tip/Understanding-the-GPC-for-Group-Policy">Group Policy Container</a>. Si vous allez sur la GPO dans GPMC vous aurez le message d&#8217;erreur suivant:</p>
<p style="text-align: center;"><a href="http://www.ldap389.info/wp-content/uploads/2010/11/ERROR-GPMC1.jpg" rel="lightbox[812]"><img class="size-medium wp-image-823  aligncenter" title="ERROR-GPMC" src="http://www.ldap389.info/wp-content/uploads/2010/11/ERROR-GPMC1-300x144.jpg" alt="" width="300" height="144" /></a></p>
<p>Le remplacement de permissions est à faire aussi sur la partie SYSVOL de la GPO (répertoire identifié par son GUID) à savoir le <a href="http://searchwindowsserver.techtarget.com/tip/Knowing-key-settings-in-Group-Policy-Template-speeds-problem-resolution">Group Policy Template</a>. Cela se fait à l&#8217;aide du CmdLet <a href="http://technet.microsoft.com/en-gb/library/dd315261.aspx">Set-acl</a> et la fonction <em>SetSecurityDescriptorSddlForm</em> comme décrit dans cet <a href="http://mow001.blogspot.com/2006/05/powershell-import-and-export.html">article</a>.</p>
<p>Vous pouvez télécharger le script ici:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/11/REPLACE_SDDL_GPO.ps1"><img class="aligncenter size-full wp-image-83" title="tool" src="http://www.ldap389.info/wp-content/uploads/2010/03/tool1.png" alt="" width="48" height="48" /></a></p>
<p>Il vous faudra remplacer les éléments suivants:</p>
<ul>
<li>$domain: Nom NetBios du domaine.</li>
<li>$domainFQDN: FQDN du domaine.</li>
<li>$siteadmgrp: Groupe d&#8217;administration du site.</li>
<li>$gpoprefix: Préfixe du nom des GPOs gérées par les administrateurs de site.</li>
</ul>
<p>Lancer le script <strong>REPLACE_SDDL_GPO.ps1</strong>, vous serez prompté avant le remplacement de la permission, le nom de la GPO et des comptes AD concernés sera affiché:</p>
<p style="text-align: center;"><a href="http://www.ldap389.info/wp-content/uploads/2010/11/REPLACE_SDDL_GPO.jpg" rel="lightbox[812]"><img class="size-medium wp-image-826  aligncenter" title="REPLACE_SDDL_GPO" src="http://www.ldap389.info/wp-content/uploads/2010/11/REPLACE_SDDL_GPO-300x48.jpg" alt="" width="300" height="48" /></a></p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Powershell%3A+Editer+permissions+sur+une+GPO+http%3A%2F%2Fis.gd%2FNm6NLH" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2010/11/26/powershell-editer-permission-gpo-sddl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Powershell: Rechercher un paramètre de GPO.</title>
		<link>http://www.ldap389.info/2010/09/08/rechercher-parametre-gpo-powershell-group-policy-module/</link>
		<comments>http://www.ldap389.info/2010/09/08/rechercher-parametre-gpo-powershell-group-policy-module/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 21:53:31 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[gpo]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[gpmc]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=732</guid>
		<description><![CDATA[Dans cet article nous allons voir comment faire un script qui recherche des paramètres de GPO,  ce point a été abordé par Lindsay Harris dans cet article et celui ci. L&#8217;avantage de sa méthode est que les critères de recherche peuvent être vraiment détaillés, par contre la méthode consiste a exporter toutes les GPOs de votre domaine au [...]]]></description>
			<content:encoded><![CDATA[<p>Dans cet article nous allons voir comment faire un script qui recherche des paramètres de GPO,  ce point a été abordé par Lindsay Harris dans cet <a href="http://blogs.technet.com/b/grouppolicy/archive/2009/04/17/find-settings-in-every-gpo.aspx"></a><a href="http://blogs.technet.com/b/grouppolicy/archive/2009/04/14/tool-images.aspx">article</a> et celui <a href="http://blogs.technet.com/b/grouppolicy/archive/2009/04/17/find-settings-in-every-gpo.aspx">ci</a>. L&#8217;avantage de sa méthode est que les critères de recherche peuvent être vraiment détaillés, par contre la méthode consiste a exporter toutes les GPOs de votre domaine au format XML et effectuer une analyse de ces fichiers, le traitement du script peut donc s&#8217;avérer très long si vous disposez de beaucoup de GPOs. La méthode que je vous propose est plus performante en termes de temps de traitement mais offre des critères de recherche plus limités, à vous de voir celle qui vous convient le mieux.<br />
<span id="more-732"></span><br />
Comme nous l&#8217;indique Florian Frommherz dans ce récent<a href="http://www.frickelsoft.net/blog/?p=265"> post</a> il existe une fonction de recherche de GPO dans la GPMC, vous pouvez d&#8217;ailleurs regarder une <a href="http://edge.technet.com/Media/Group-Policy-Search-with-Lilia/">video de démonstration</a> sur Technet pour plus de détails. La recherche d&#8217;un critère est très rapide mais limitée, car elle se présente sous la forme d&#8217;une liste déroulante. Le but de ce post est de retranscrire cette méthode de recherche avec un script PowerShell, un fois les GPOs filtrées selon notre critère de recherche nous pourrons effectuer des opérations sur celles ci grâce au <a href="http://technet.microsoft.com/en-us/library/ee461027.aspx">Group Policy CmdLets</a>.</p>
<p>Afin de voir quelle requête est lancée par la GPMC lors de la recherche d&#8217;un paramètre de GPO nous allons <a href="http://technet.microsoft.com/en-us/library/cc737379%28WS.10%29.aspx">activer le mode <em>verbose</em></a> de log de la console. Réalisons maintenant une recherche de toutes les GPOs ayant le paramètre &#8220;redirection de dossiers&#8221; de configuré dans la partie utilisateur de la stratégie.</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/09/gpo_search.jpg" rel="lightbox[732]"><img class="aligncenter size-medium wp-image-733" title="gpo_search" src="http://www.ldap389.info/wp-content/uploads/2010/09/gpo_search-300x172.jpg" alt="" width="300" height="172" /></a></p>
<p>Puis nous allons consulter le fichier %TEMP%\gpmgmt.log afin de voir quelle opération a été tracée:</p>
<blockquote><p>[VERBOSE] CGPMSearch::DumpCriteria(): Dumping 1 criteria ================<br />
[VERBOSE] CGPMSearch::DumpCriteria(): Property: <span style="color: red;">&#8220;gpoUserExtensions&#8221;</span><br />
[VERBOSE] CGPMSearch::DumpCriteria():    Operation &#8211; <span style="color: red;">Contains</span><br />
[VERBOSE] CGPMSearch::DumpCriteria():     Value (string) &#8220;<span style="color: red;">{25537BA6-77A8-11D2-9B6C-0000F8080861}</span>&#8220;.<br />
[VERBOSE] CGPMSearch::DumpCriteria(): End criteria dump ==================</p></blockquote>
<p>Le filtre de recherche se fait via un simple attribut LDAP de l&#8217;objet de GPO situé dans le container &#8220;<em>CN=System,CN=Policies,DC=%domain%</em>&#8220;. Utilisons <em><a href="http://technet.microsoft.com/en-us/library/cc773354%28WS.10%29.aspx">adsiedit.msc</a></em> afin de voir plus en détails les attributs d&#8217;un objet de stratégie de groupes:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/09/ADSI_gpo.jpg" rel="lightbox[732]"><img class="aligncenter size-medium wp-image-734" title="ADSI_gpo" src="http://www.ldap389.info/wp-content/uploads/2010/09/ADSI_gpo-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>On remarque que l&#8217;attribut <em>gPCUserExtensionNames </em>est de la forme [%GUID1% %GUID2% ....], Le GUID est une valeur fixe qui correspond au type de critère recherché: {25537BA6-77A8-11D2-9B6C-0000F8080861} pour la redirection de dossiers dans la partie utilisateur de la GPO. Une GPO pouvant avoir plusieurs types de paramètres d&#8217;activés, par exemple &#8220;script de logon&#8221; et &#8220;redirection de dossiers&#8221;, les GUIDs sont mis simplement les uns à la suite des autres dans cet attribut.</p>
<p>Pour la partie des paramètres ordinateur de la GPO c&#8217;est le même principe sauf qu&#8217;il s&#8217;agit de l&#8217;attribut <em>gPCMachineExtensionNames</em> de la GPO. Il nous reste donc à inventorier les différents GUID correspondant aux paramètres de GPOs proposés dans la liste déroulante en effectuant une recherche via la GPMC et en analysant le fichier de log. Vu le nombre de paramètres de recherche possibles, 30 pour la configuration utilisateur et 35 pour la configuration ordinateur, les résultats sont disponibles dans ce fichier Excel à télécharger:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/09/SearchGPO.xls"><img class="aligncenter size-full wp-image-83" title="tool" src="http://www.ldap389.info/wp-content/uploads/2010/03/tool1.png" alt="" width="48" height="48" /></a></p>
<p>En Powershell il nous suffit de faire une simple recherche avec <a href="http://technet.microsoft.com/en-us/library/ee617198.aspx">Get-ADObject</a> pour rechercher les GPOs contenant une redirection de dossiers, le filtre recherche les objets de type GPO (<em>ObjectClass=GroupPolicyContainer</em>) et ayant l&#8217;attribut<em> gPCUserExtensionNames</em> qui contient le GUID correspondant à la redirection de dossiers:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$ObjGPOs</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>ADObject <span style="color: pink;">-</span><span style="color: #0000FF;">Filter</span> <span style="color: #000000;">&#123;</span><span style="color: #000000;">&#40;</span>ObjectClass <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;groupPolicyContainer&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-and</span> <span style="color: #000000;">&#40;</span>gPCUserExtensionNames <span style="color: #FF0000;">-like</span> <span style="color: pink;">*</span><span style="color: #000000;">&#123;</span>25537BA6<span style="color: pink;">-</span>77A8<span style="color: pink;">-</span>11D2<span style="color: pink;">-</span>9B6C<span style="color: pink;">-</span>0000F8080861<span style="color: #000000;">&#125;</span><span style="color: pink;">*</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#125;</span></pre></div></div>

<p>Si le résultat retourné par <em>$ObjGPOs</em> n&#8217;est pas nul, nous pouvons grâce au CmdLet <a href="http://technet.microsoft.com/en-us/library/ee461057.aspx">Get-GPOReport</a> (ne pas oublier d&#8217;importer le <a href="http://technet.microsoft.com/en-us/library/ee461027.aspx">module Grouppolicy</a>)  exporter le rapport des GPOs trouvées au format HTML, pour cela nous avons besoin d&#8217;entrer en paramètre de la commande (<em>-guid</em>) le <a href="http://support.microsoft.com/kb/216359">GUID de la GPO</a>, mais sans les caractères &#8220;{}&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;">Import<span style="color: pink;">-</span>Module GroupPolicy;
<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$ObjGPOs</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$Null</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
<span style="color: #0000FF;">foreach</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$ObjGPO</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$ObjGPOs</span><span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>      <span style="color: #800080;">$guid</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#91;</span>System.Text.RegularExpressions.Regex<span style="color: #000000;">&#93;</span>::Replace<span style="color: #000000;">&#40;</span><span style="color: #800080;">$ObjGPO</span>.Name<span style="color: pink;">,</span><span style="color: #800000;">&quot;[{}]&quot;</span><span style="color: pink;">,</span><span style="color: #800000;">&quot;&quot;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #800080;">$pathtosavef</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;C:\export\&quot;</span> <span style="color: pink;">+</span>  <span style="color: #000000;">&#40;</span>get<span style="color: pink;">-</span>GPO <span style="color: pink;">-</span>guid <span style="color: #800080;">$guid</span><span style="color: #000000;">&#41;</span>.DisplayName <span style="color: pink;">+</span> <span style="color: #800000;">&quot;.html&quot;</span>
    get<span style="color: pink;">-</span>GPOReport <span style="color: pink;">-</span>guid <span style="color: #800080;">$guid</span> <span style="color: pink;">-</span>ReportType html <span style="color: #008080; font-style: italic;">-Path</span> <span style="color: #800080;">$pathtosavef</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>L&#8217;exemple ci dessus exporte les rapports de GPO au format %Nom_GPO%.html dans le dossier <em>c:\export</em>. Nous allons donc faire un script qui demande si nous recherchons un configuration ordinateur ou utilisateur puis le type de paramètre de GPO à chercher, nous lançons donc le script <strong>search_GPO_2008.ps1</strong> avec comme paramètre optionnel <em>-report</em> qui indique le chemin de destination des fichiers html:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/09/script_GPO.jpg" rel="lightbox[732]"><img class="aligncenter size-medium wp-image-738" title="script_GPO" src="http://www.ldap389.info/wp-content/uploads/2010/09/script_GPO-300x268.jpg" alt="" width="300" height="268" /></a></p>
<p>Dans l&#8217;exemple ci dessus nous recherchons une GPO ordinateur pour lequel un paramètre de service est configuré à travers les <a href="http://www.grouppolicy.biz/2010/03/what-are-group-policy-preferences/">préférences de stratégie de groupe</a> , nous indiquons donc <strong>2</strong> puis <strong>20</strong>. Si vous n&#8217;indiquez pas de paramètre <em>-report</em>, aucun rapport html n&#8217;est généré mais les informations sur le nom de la GPO, son GUID et sa date de création sont tout de même affichés.Pour télécharger le script c&#8217;est ici:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/09/search_GPO_2008.ps1"><img class="aligncenter size-full wp-image-83" title="tool" src="http://www.ldap389.info/wp-content/uploads/2010/03/tool1.png" alt="" width="48" height="48" /></a><br />
Pour ceux qui ne sont pas encore sous Active Directory 2008, voici un script équivalent pour la version 2003, réalisé à l&#8217;aide des <a href="http://www.quest.com/powershell/activeroles-server.aspx">Quest AD Cmdlets</a>, la fonction d&#8217;export au format HTML n&#8217;est pas disponible car il n&#8217;y a pas (à ce jour), de CmdLets pouvant réaliser cette opération. Ci dessous le lien pour télécharger <strong>search_GPO_2003.ps1</strong>:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/09/search_GPO_2003.ps1"><img class="aligncenter size-full wp-image-83" title="tool" src="http://www.ldap389.info/wp-content/uploads/2010/03/tool1.png" alt="" width="48" height="48" /></a></p>
<p>Le principe de fonctionnement est le même:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/09/gpo_search_quest.jpg" rel="lightbox[732]"><img class="aligncenter size-medium wp-image-739" title="gpo_search_quest" src="http://www.ldap389.info/wp-content/uploads/2010/09/gpo_search_quest-300x201.jpg" alt="" width="300" height="201" /></a></p>
<p>Vous pouvez adapter le script <strong>search_GPO_2008.ps1 </strong>afin de faire d&#8217;autres types de manipulations sur les GPOs issues de vôtre filtre de recherche, par exemple les sauvegarder dans un dossier particulier avec le CmdLet <a href="http://technet.microsoft.com/en-us/library/ee461052.aspx">Backup-GPO</a> etc&#8230;</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Powershell%3A+Rechercher+un+param%C3%A8tre+de+GPO.+http%3A%2F%2Fis.gd%2F1HzTDM" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2010/09/08/rechercher-parametre-gpo-powershell-group-policy-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPO Filtrage WMI: Contournement KB2286198</title>
		<link>http://www.ldap389.info/2010/08/06/gpo-filtrage-wmi-false-kb2286198/</link>
		<comments>http://www.ldap389.info/2010/08/06/gpo-filtrage-wmi-false-kb2286198/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 22:27:00 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[gpo]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[adm]]></category>
		<category><![CDATA[gpmc]]></category>
		<category><![CDATA[gpp]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[rsop]]></category>
		<category><![CDATA[wmi]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=660</guid>
		<description><![CDATA[Comme vous le savez déjà surement les OS Windows 2000 et XP SP2 ne sont plus supportés par Microsoft depuis le 13/07/2010. En conséquence les patchs de sécurité MS sortis depuis cette date ne sont plus applicables sur ces versions d&#8217;OS. Une faille de sécurité critique MS10-046 a été corrigé via le patch de sécurité [...]]]></description>
			<content:encoded><![CDATA[<p>Comme vous le savez déjà surement les OS Windows 2000 et XP SP2 ne sont <a href="http://blogs.technet.com/b/askperf/archive/2010/07/13/support-changes-for-windows-2000-windows-xp-sp2-and-windows-vista.aspx">plus supportés par Microsoft</a> depuis le 13/07/2010. En conséquence les patchs de sécurité MS sortis depuis cette date ne sont plus applicables sur ces versions d&#8217;OS. Une faille de sécurité critique <a href="http://www.microsoft.com/france/technet/security/Bulletin/MS10-046.mspx">MS10-046</a> a été corrigé via le patch de sécurité <a href="http://support.microsoft.com/kb/2286198">KB2286198</a>, son pré-requis pour les versions <em>workstation</em> est donc Windows XP SP3 et Windows 2003 SP2 pour les versions <em>server</em>. Cette KB nous explique tout de même comment se protéger en utilisant une solution de contournement, celle-ci consiste en l&#8217;édition de deux clefs de registre et la désactivation d&#8217;un service.</p>
<p>Cette solution de contournement est donc applicable sur vos postes qui ne sont pas encore à jour et qui ne peuvent recevoir le patch de sécurité fournit par MS. Son gros désavantage est la disparition des images d&#8217;icônes sur certains fichiers *<em>.lnk</em>. Il est donc très vivement conseillé de mettre à jour vos systèmes d&#8217;exploitation avec le bon Service Pack pour ne pas avoir à en arriver la. Si ce n&#8217;est pas réalisable dans des délais raisonnables nous allons voir comment déployer cette solution de contournement via GPO. Ce sujet a déjà été traité dans cet <a href="http://www.grouppolicy.biz/2010/08/how-to-workaround-kb2286198-shortcut-icon-security-issues-with-group-policy/">article</a> du Group Policy Center, il nous indique comment activer ou désactiver la solution de contournement sous Windows 2008 via les<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=42e30e3f-6f01-4610-9d6e-f6e0fb7a0790&amp;DisplayLang=en"> préférences</a> de stratégies de groupe. Nous allons dans ce post le compléter en indiquant comment se servir du filtrage WMI pour cibler le comportement de la GPO, à savoir activer la solution de contournement pour les postes qui n&#8217;ont pas le patch de sécurité d&#8217;installé et le désactiver sur les ordinateurs ayant la KB2286198 d&#8217;installée. Puis comment réaliser la même chose sans les GPO de préférences, avec un AD sous Windows 2003.</p>
<p><span id="more-660"></span>Nous allons tout d&#8217;abord voir comment activer le workaround en utilisant la méthode du<a href="http://www.grouppolicy.biz/2010/08/how-to-workaround-kb2286198-shortcut-icon-security-issues-with-group-policy/"> Group Policy Center </a>mais en ne ciblant que les postes qui n&#8217;ont pas le patch de sécurité d&#8217;installé. Afin de profiter des préférences de stratégie de groupe vous devez au minima avoir un DC sous Windows 2008 et appliquer <a href="http://support.microsoft.com/kb/943729">cette KB</a> sur tous vos clients, attention à ne pas oublier l&#8217;installation de XMLLite pour Windows 2003 et XP. Afin de ne cibler que les postes qui n&#8217;ont pas la KB2296198 d&#8217;installée nous allons utiliser le <em><a href="http://technet.microsoft.com/en-us/library/cc733022.aspx">Item-Level targeting</a></em> et filtrer via une requête WMI l&#8217;existence de nôtre KB. La grosse évolution est que avec un AD sous Windows 2003 nous ne pouvions réaliser un filtrage WMI que si le résultat retourné était TRUE, grâce au <a href="http://technet.microsoft.com/en-us/library/cc753660.aspx"><em>Targeting Collection</em></a> nous pouvons réaliser le filtre suivant: Si la requête WMI retourne un résultat FALSE (i.e. KB non présente) alors j&#8217;applique l&#8217;élément de préférence de stratégie de groupe (Item options IS NOT):</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/08/wmiquery2008-1.jpg" rel="lightbox[660]"><img class="aligncenter size-medium wp-image-662" title="wmiquery2008-1" src="http://www.ldap389.info/wp-content/uploads/2010/08/wmiquery2008-1-300x223.jpg" alt="" width="300" height="223" /></a></p>
<p>La requête WMI permettant de savoir si la KB est installée se réalise en parcourant la classe <em>Win32_QuickFixEngineering</em> et en filtrant sur le HotFixID KB2286198:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/08/wmiquery2008-2.jpg" rel="lightbox[660]"><img class="aligncenter size-medium wp-image-663" title="wmiquery2008-2" src="http://www.ldap389.info/wp-content/uploads/2010/08/wmiquery2008-2-300x180.jpg" alt="" width="300" height="180" /></a></p>
<p>En appliquant ces éléments de filtrage à l&#8217;édition des deux clefs de registre et la désactivation du service WebClient indiqués dans le post du <a href="http://www.grouppolicy.biz/2010/08/how-to-workaround-kb2286198-shortcut-icon-security-issues-with-group-policy/">Group Policy Center</a> vous ne ciblerez l&#8217;activation du workaround que pour les postes qui n&#8217;ont pas le patch de sécurité. Cette nouveauté concernant le filtrage WMI (i.e. gérer la condition FALSE) n&#8217;est valable que pour les préférences de stratégies de groupe, les autres paramètres de GPOs sont soumis aux mêmes restrictions que sous Windows 2003: Le filtrage se fait sur la valeur TRUE renvoyée par la requête.</p>
<p>Pour désactiver la solution de contournement il vous suffit d&#8217;utiliser la même requête, en utilisant l&#8217;option par défaut du <em>Targeting Editor</em> à savoir filtrer si la condition est TRUE (Item options IS).</p>
<p>Maintenant nous allons voir le pire cas de figure: Vous désirez activer cette solution de contournement via GPO mais vous ne disposez pas des préférences de stratégie de groupe (AD 2003) et vous avez encore sur votre parc des clients avec un OS Windows 2000 (!):</p>
<p>Dans ce cas la GPO avec filtre WMI classique est appliqué si la requête renvoie TRUE, or on ne veut appliquer le workaround que si la KB n&#8217;est pas présente, donc renvoie FALSE&#8230; Nous allons donc créer deux GPOs et jouer sur l&#8217;ordre d&#8217;application de celles ci:</p>
<ul>
<li>Une première GPO (<em>KB2286198-WOKAROUND-AD2003-Enable</em>) qui applique le workaround à tous les postes (pas de filtrage) qui désactive le service WebClient et édite les valeurs <em>default</em> de clefs de registre <em>HKCR\lnkfile\shellex\IconHandler</em> et <em>HKCR\piffile\shellex\IconHandler</em> à vide. Cette GPO va s&#8217;appliquer en premier sur le poste et aura donc une priorité inférieure à la seconde GPO.</li>
<li>Une seconde GPO (<em>KB2286198-WOKAROUND-AD2003-Disable</em>) qui désactive le workaround pour les postes qui répondent TRUE à la requête WMI indiquant que le poste est patché. Celle ci active le service WebClient (valeur par défaut) et édite les valeurs de clefs de registre à leur valeur par défaut ({00021401-0000-0000-C000-000000000046}). Cette GPO, ne s&#8217;appliquant qu&#8217;aux postes patchés, va désactiver le workaround en s&#8217;appliquant après la première GPO et a donc une priorité supérieure.</li>
</ul>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/08/ordreGPO2003.jpg" rel="lightbox[660]"><img class="aligncenter size-medium wp-image-665" title="ordreGPO2003" src="http://www.ldap389.info/wp-content/uploads/2010/08/ordreGPO2003-300x40.jpg" alt="" width="300" height="40" /></a></p>
<p>Afin de pousser les valeurs de registre via GPO nous allons générer deux fichiers .ADM à l&#8217;aide de reg2adm de <a href="http://yizhar.mvps.org/">Yizhar Hurwitz</a>, vous trouverez un tutoriel <a href="http://www.virtualizationadmin.com/articles-tutorials/terminal-services/general/group-policy-support-custom-applications-environment.html">ici</a>. Pour télécharger les modèles d&#8217;administration pour nos deux GPOs c&#8217;est ici:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/07/ADM-KB2286198.zip"><img class="aligncenter size-full wp-image-83" title="tool" src="http://www.ldap389.info/wp-content/uploads/2010/03/tool1.png" alt="" width="48" height="48" /></a></p>
<p>Le filtre WMI à appliquer sur la seconde GPO est toujours le même:</p>
<blockquote><p>SELECT * FROM Win32_QuickFixEngineering WHERE HOTFixID = &#8216;KB2286198&#8242;</p></blockquote>
<p>Le problème est qu&#8217;un OS Windows 2000 qui se voit appliquer une GPO avec filtrage WMI <a href="http://technet.microsoft.com/en-us/library/cc758471%28WS.10%29.aspx">ignore le filtre</a> et applique toujours la GPO. Donc <em>KB2286198-WOKAROUND-AD2003-Disable </em>sera toujours appliquée sur cet OS, or ce n&#8217;est pas le comportement que nous souhaitons car le patch de sécurité n&#8217;est pas disponible sur cette version&#8230;</p>
<p>Nous allons donc contourner le problème en recensant toutes nos machines Windows 2000 et en les mettant dans un groupe de sécurité <em>W2K-WORKSTATIONS</em>, pour cela utiliser la commande PowerShell des <a href="http://www.quest.com/powershell/activeroles-server.aspx">Quest AD CMDlets</a> suivante:</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;">get<span style="color: pink;">-</span>QADComputer <span style="color: pink;">-</span>OSName <span style="color: #800000;">'Windows 2000*'</span> <span style="color: pink;">-</span>ldapFilter <span style="color: #800000;">'(!(userAccountControl:1.2.840.113556.1.4.803:=2))'</span> <span style="color: pink;">-</span>Sizelimit <span style="color: #804000;">10000</span> <span style="color: pink;">|</span> Add<span style="color: pink;">-</span>QADMemberof <span style="color: pink;">-</span><span style="color: #008080; font-weight: bold;">Group</span> <span style="color: #800000;">'ldap389\W2K-WORKSTATIONS'</span></pre></div></div>

<p>Nous appliquerons ensuite un filtrage de sécurité sur <em>KB2286198-WOKAROUND-AD2003-Disable </em>indiquant de ne pas appliquer la GPO pour le groupe <em>W2K-WORKSTATIONS.</em></p>
<p>La GPO <em>KB2286198-WOKAROUND-AD2003-Enable </em>est donc la suivante:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/08/wmi-GPO2-2003.jpg" rel="lightbox[660]"><img class="aligncenter size-medium wp-image-666" title="wmi-GPO2-2003" src="http://www.ldap389.info/wp-content/uploads/2010/08/wmi-GPO2-2003-300x282.jpg" alt="" width="300" height="282" /></a></p>
<p>Et la GPO <em>KB2286198-WOKAROUND-AD2003-Disable </em>avec une priorité supérieure à la première GPO qui possède un filtrage WMI et un filtrage par groupe:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/08/wmi-GPO1-2003.jpg" rel="lightbox[660]"><img class="aligncenter size-medium wp-image-667" title="wmi-GPO1-2003" src="http://www.ldap389.info/wp-content/uploads/2010/08/wmi-GPO1-2003-300x162.jpg" alt="" width="300" height="162" /></a></p>
<p>Voici donc le résultat d&#8217;une commande <a href="http://support.microsoft.com/kb/323276">rsop.msc</a> et l&#8217;état des icônes du menu démarrer sur un poste protégé avec la KB2286198, donc sur lequel le workaround n&#8217;est pas appliqué puis sur un poste non patché sur lequel la solution de contournement est appliquée:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/08/rsop2003.jpg" rel="lightbox[660]"><img class="aligncenter size-medium wp-image-669" title="rsop2003" src="http://www.ldap389.info/wp-content/uploads/2010/08/rsop2003-300x256.jpg" alt="" width="300" height="256" /></a></p>
<p>En jouant sur l&#8217;ordre d&#8217;application des GPOs nous arrivons à nos fins, cependant cette méthode relève un peu du bricolage&#8230; En conclusion: Maintenez à jour vos versions d&#8217;OS et de Service Packs. Il n&#8217;est pas dit quand dans le futur des solutions de contournement soient disponibles pour combler une faille de sécurité.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=GPO+Filtrage+WMI%3A+Contournement+KB2286198+http%3A%2F%2Fis.gd%2FcJYRIa" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2010/08/06/gpo-filtrage-wmi-false-kb2286198/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SideBar du blog: Latest AD News</title>
		<link>http://www.ldap389.info/2010/07/05/sidebar-du-blog-latest-ad-news/</link>
		<comments>http://www.ldap389.info/2010/07/05/sidebar-du-blog-latest-ad-news/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 20:41:38 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[gpo]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=595</guid>
		<description><![CDATA[Une petite nouveauté sur le blog: L&#8217;évolution de la sidebar, une catégorie &#8220;Latest AD news&#8221; a été ajoutée. Sur cette dernière vous trouverez les dernières nouvelles concernant AD annoncées sur les flux auxquels je suis inscrit. A noter la sortie il y a quelques jours de GPS, une page Web pour retrouver à partir de [...]]]></description>
			<content:encoded><![CDATA[<p>Une petite nouveauté sur le blog: L&#8217;évolution de la sidebar, une catégorie <em>&#8220;Latest AD news&#8221; </em>a été ajoutée. Sur cette dernière vous trouverez les dernières nouvelles concernant AD annoncées sur les flux auxquels je suis inscrit. A noter la sortie il y a quelques jours de <a href="http://gps.cloudapp.net/">GPS</a>, une page Web pour retrouver à partir de quelques mots clefs le bon paramètre de GPO à appliquer dans l&#8217;éditeur de stratégie de groupe, du temps de gagné pour les admins. Plus de precisions sur le blog de <a href="http://blogs.technet.com/b/askds/archive/2010/06/24/announcing-the-group-policy-search-service.aspx">AskDS</a>.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=SideBar+du+blog%3A+Latest+AD+News+http%3A%2F%2Fis.gd%2Fo9Di5W" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2010/07/05/sidebar-du-blog-latest-ad-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Freeze de GPMC sur un Domain Controller</title>
		<link>http://www.ldap389.info/2010/05/21/freeze-gpmc-probleme-dc/</link>
		<comments>http://www.ldap389.info/2010/05/21/freeze-gpmc-probleme-dc/#comments</comments>
		<pubDate>Fri, 21 May 2010 10:17:24 +0000</pubDate>
		<dc:creator>ldap389</dc:creator>
				<category><![CDATA[BDD AD]]></category>
		<category><![CDATA[gpo]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[gplink]]></category>
		<category><![CDATA[gpmc]]></category>
		<category><![CDATA[lsass]]></category>
		<category><![CDATA[ntds.dit]]></category>

		<guid isPermaLink="false">http://www.ldap389.info/?p=574</guid>
		<description><![CDATA[Dans cet article nous allons décrire un problème rencontré sur notre infrastructure de production et détailler sa résolution. L&#8217;incident est le suivant: A partir de nos postes d&#8217;administration la GPMC freezait dès que l&#8217;on clickait sur une OU afin d&#8217;afficher les GPOs liées à celle ci, le problème ne se produisait que en étant connecté à un DC [...]]]></description>
			<content:encoded><![CDATA[<p>Dans cet article nous allons décrire un problème rencontré sur notre infrastructure de production et détailler sa résolution. L&#8217;incident est le suivant: A partir de nos postes d&#8217;administration la GPMC freezait dès que l&#8217;on clickait sur une OU afin d&#8217;afficher les GPOs liées à celle ci, le problème ne se produisait que en étant connecté à un DC en particulier: Dans notre cas il s&#8217;agissait du PDC Emulator, si nous indiquions à la console de <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;214676&amp;Product=win20">pointer sur un DC différent</a>, la GPMC fonctionnait normalement.</p>
<p>L&#8217;application et la réplication des GPOs dans notre domaine fonctionnait normalement, par contre l&#8217;édition des stratégies de groupe sur le DC impacté devenait impossible, en même temps que la GPMC freezait une surcharge CPU du process lsass.exe survenait sur le contrôleur de domaine et ceci tant que la GPMC n&#8217;était pas killée sur la console. Nous avons donc continué à éditer nos GPOs à partir d&#8217;autres DCs et le fonctionnement de la production était quasi-normal le temps de la résolution de l&#8217;incident.</p>
<p><span id="more-574"></span><br />
Afin de mieux comprendre le problème, la première chose à faire est de lancer lors du freeze de GPMC une analyse avec <a href="http://www.microsoft.com/downloads/details.aspx?familyid=61a41d78-e4aa-47b9-901b-cf85da075a73&amp;displaylang=en">Server Performance Advisor</a> sur le DC dont voici le résultat:<br />
<a href="http://www.ldap389.info/wp-content/uploads/2010/05/spa.jpg" rel="lightbox[574]"><img class="aligncenter size-medium wp-image-575" title="server performance advisor lsass" src="http://www.ldap389.info/wp-content/uploads/2010/05/spa-300x125.jpg" alt="" width="300" height="125" /></a></p>
<p>On voit que le DC a du mal à effectuer une recherche LDAP initiée par la GPMC et cela entraine une consommation anormale du process lsass.exe, afin d&#8217;en savoir plus nous réalisons deux analyses de trames avec <a href="http://www.wireshark.org/">WireShark</a> sur nos consoles d&#8217;administration: La première en reproduisant le problème en lançant la GPMC connecté au DC impacté, la seconde en connectant la GPMC à un autre DC et sur lequel l&#8217;édition de GPOs est possible:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/05/wireshark-ldap.jpg" rel="lightbox[574]"><img class="aligncenter size-medium wp-image-577" title="wireshark-ldap" src="http://www.ldap389.info/wp-content/uploads/2010/05/wireshark-ldap-217x300.jpg" alt="" width="217" height="300" /></a></p>
<p>On voit que sur le DC posant problème la requête LDAP n&#8217;aboutit pas, au bout de plus de 2 minutes toujours pas de résultat. Lors d&#8217;un fonctionnement normal de la GPMC, les GPOs liées à notre OU sont trouvées en quelques secondes.</p>
<p>Il nous faut maintenant identifier quelle requête LDAP n&#8217;arrive pas à traiter notre DC, pour cela nous allons activer le diagnostique Active Directory <a href="http://support.microsoft.com/kb/314980/en-us"><em>Field Engineering</em></a>, l&#8217;événement <a href="http://support.microsoft.com/kb/951581/en-us">d&#8217;ID 1644 </a>sera alors généré lorsque le problème survient, celui ci est caractéristique d&#8217;une requête LDAP consommant trop de ressources. Une fois l&#8217;audit activé, nous avons alors l&#8217;événement suivant qui apparaît lors du freeze de GPMC:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/05/EventField.jpg" rel="lightbox[574]"><img class="aligncenter size-medium wp-image-578" title="Event 1644" src="http://www.ldap389.info/wp-content/uploads/2010/05/EventField-269x300.jpg" alt="" width="269" height="300" /></a></p>
<p>Les valeurs retournées par la requête sont <a href="http://msdn.microsoft.com/en-us/library/cc232505%28PROT.13%29.aspx"><em>GPLink et GPOptions</em></a> (on peut d&#8217;ailleurs observer le résultat sur la capture de trames réseau).  Le filtre de recherche se fait sur <a href="http://msdn.microsoft.com/en-us/library/ms677612%28VS.85%29.aspx"><em>ObjectCategory</em></a> qui est un <a href="http://support.microsoft.com/kb/257218/en-us">attribut indexé</a> par défaut de la base AD. La requête LDAP devrait donc être réalisée rapidement, ce qui n&#8217;est pas du tout le cas, nous en avons malheureusement la confirmation en lançant la même requête avec <a href="http://support.microsoft.com/kb/224543/en-us">ldp.exe</a>, le résultat est le suivant:</p>
<blockquote><p>&#8212;&#8212;&#8212;&#8211;<br />
***Searching&#8230;<br />
ldap_search_ext_s(ld, &#8220;DC=ldap389,DC=info&#8221;<br />
, 2, &#8220;( |  (objectCategory=CN=Domain-DNS,CN=Schema,CN=Configuration,DC=ldap389,DC=info)  (objectCategory=CN=Organizational-Unit,CN=Schema,CN=Configuration,DC=ldap389,DC=info) )&#8221;, attrList,  0, svrCtrls, ClntCtrls, 10, 0 ,&amp;msg)<br />
Error: Search: Timeout. &lt;85&gt;<br />
Server error:<br />
Error&lt;94&gt;: ldap_parse_result failed: No result present in message<br />
Getting 0 entries:<br />
&#8212;&#8212;&#8212;&#8211;</p></blockquote>
<p>La requête tombe en Timeout, alors que sur les autres DCs aucun problème avec celle ci. Nous avons donc décidé dans un premier temps d&#8217;augmenter la valeur du paramètre <em>MaxQueryDuration</em> des <a href="http://support.microsoft.com/kb/315071/en-us">stratégies LDAP</a> de notre DC, ainsi que de configurer ldp.exe afin d&#8217;augmenter la période de TimeOut. Ces manipulations n&#8217;ont servi à rien.</p>
<p>Après quelques recherches nous sommes tombés sur <a href="http://blogs.technet.com/ad/archive/2008/04/01/how-to-create-a-mosiac-of-user-thumbnails-in-aduc-dsa-msc.aspx">cet article</a> très instructif de Tim Springston. Il affirme que:</p>
<blockquote><p><em>&#8220;if the attribute(s) which are showing as taking an extended amount of time to search for are already indexed then the lack of an index is clearly not your problem.  Sometimes indices, perhaps through frequent changes or other reasons, need to be re-indexed to remove &#8220;whitespace&#8221; or other problems.  So checking the integrity of the database or doing an offline defrag may be the way to go.&#8221;</em></p></blockquote>
<p>Procédons donc d&#8217;abord à une <a href="http://support.microsoft.com/kb/315136/en-us">analyse sémantique </a>du ntds.dit de notre DC:</p>
<p><a href="http://www.ldap389.info/wp-content/uploads/2010/05/semanalysis.jpg" rel="lightbox[574]"><img class="aligncenter size-medium wp-image-579" title="semantic-analysis-ad" src="http://www.ldap389.info/wp-content/uploads/2010/05/semanalysis-300x95.jpg" alt="" width="300" height="95" /></a></p>
<p>Le résultat est immédiat: des inconsistances dans la base ont été trouvées. Nous relançons cette fois la même analyse sur la base, mais en mode <em><a href="http://support.microsoft.com/kb/258062/en-us">&#8220;fixer les problèmes&#8221;</a></em> (voir point 11 de la KB). Pour terminer nous réalisons une <a href="http://support.microsoft.com/kb/232122/en-us">défragmentation offline</a> du ndts.dit et nous quittons le mode DSRM pour rebooter notre DC normalement.</p>
<p>Une fois le DC redémarré nous essayons d&#8217;utiliser la GPMC en étant connecté sur le DC qui posait problème: L&#8217;utilisation de l&#8217;éditeur de stratégies de groupe se fait normalement et nous pouvons à nouveau éditer des GPOs sur ce contrôleur de domaine.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Freeze+de+GPMC+sur+un+Domain+Controller+http%3A%2F%2Fis.gd%2FyrUgNQ" title="Post to Twitter"><img class="nothumb" src="http://www.ldap389.info/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.ldap389.info/2010/05/21/freeze-gpmc-probleme-dc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

