<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Ask the Directory Services Team articles</title>
    <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/bg-p/AskDS</link>
    <description>Ask the Directory Services Team articles</description>
    <pubDate>Sat, 16 May 2026 20:35:03 GMT</pubDate>
    <dc:creator>AskDS</dc:creator>
    <dc:date>2026-05-16T20:35:03Z</dc:date>
    <item>
      <title>The End is Nigh for DES and an Update for hunting down RC4</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/the-end-is-nigh-for-des-and-an-update-for-hunting-down-rc4/ba-p/4499821</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Note: 3/5/2026 The Event Forwarding methods mentioned here is not yet compatible with Server 2025.&amp;nbsp; This post will be updated when it is no longer the case.&amp;nbsp; This blog was originally posted last year, but got "lost."&amp;nbsp; It has been updated a little to reflect recent events and will likely have some overlap.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Hello again all, Chris Cartwright here from the Directory Services support team.&amp;nbsp; We &lt;A href="https://techcommunity.microsoft.com/blog/WindowsServerNewsandBestPractices/removal-of-des-in-kerberos-for-windows-server-and-client/4386903" target="_blank" rel="noopener"&gt;released the plan to remove DES as an encryption type for Kerberos completely&lt;/A&gt;.&amp;nbsp; We also released identification scripts to assist with this at &lt;A href="https://github.com/microsoft/Kerberos-Crypto" target="_blank" rel="noopener"&gt;microsoft/Kerberos-Crypto: Tools and information regarding Windows Kerberos cryptography&lt;/A&gt;. We have also released &lt;A href="https://www.microsoft.com/en-us/windows-server/blog/2025/12/03/beyond-rc4-for-windows-authentication/" target="_blank" rel="noopener"&gt;Beyond RC4 for Windows authentication | Microsoft Windows Server Blog&lt;/A&gt; and then the first patching efforts in support of RC4 deprecation in&amp;nbsp;&lt;A href="https://support.microsoft.com/en-us/topic/how-to-manage-kerberos-kdc-usage-of-rc4-for-service-account-ticket-issuance-changes-related-to-cve-2026-20833-1ebcda33-720a-4da8-93c1-b0496e1910dc" target="_blank" rel="noopener"&gt;How to manage Kerberos KDC usage of RC4 for service account ticket issuance changes related to CVE-2026-20833 - Microsoft Support&lt;/A&gt;.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wanted to provide a &lt;STRONG&gt;&lt;EM&gt;brief&lt;/EM&gt;&lt;/STRONG&gt; update for XML filtering that was illustrated in the previous blog post, &lt;A href="https://techcommunity.microsoft.com/blog/askds/so-you-think-you’re-ready-for-enforcing-aes-for-kerberos/4080124" target="_blank" rel="noopener"&gt;So, you think you’re ready for enforcing AES for Kerberos?&lt;/A&gt;.&amp;nbsp; I will reference this blog post quite a bit.&amp;nbsp; While I don’t expect readers of this blog to be using DES, I still wanted to make sure that the information was out there.&amp;nbsp; Additionally, the Events &lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4768" target="_blank" rel="noopener"&gt;4768&lt;/A&gt; and &lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4769" target="_blank" rel="noopener"&gt;4769&lt;/A&gt; have been updated with additional information when issuing tickets.&amp;nbsp; The XML here is also modified to support that.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;H1&gt;XML Filters&lt;/H1&gt;
&lt;P&gt;Here are the XML filters you can leverage to find specific events.&lt;/P&gt;
&lt;H2&gt;&amp;nbsp;Hunting down DES tickets issued&lt;/H2&gt;
&lt;PRE&gt;&amp;lt;QueryList&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="0" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='TicketEncryptionType']='0x1']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="1" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='TicketEncryptionType']='0x2']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="2" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='TicketEncryptionType']='0x3']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;&amp;lt;/QueryList&amp;gt;&lt;/PRE&gt;
&lt;H2&gt;Hunting down only legacy keys available:&lt;/H2&gt;
&lt;P&gt;There will be more information on this in a later blog post.&lt;/P&gt;
&lt;PRE&gt;&amp;lt;QueryList&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="0" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='AccountAvailableKeys']='RC4, DES']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="1" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='ServiceAvailableKeys']='RC4, DES']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="3" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='DCAvailableKeys']='RC4, DES']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="4" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='AccountAvailableKeys']='RC4']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="5" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='ServiceAvailableKeys']='RC4']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="6" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt;*[EventData[Data[@Name='DCAvailableKeys']='RC4']]&lt;BR /&gt;&amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;&amp;lt;/QueryList&amp;gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Hunting down RC4 Tickets issued:&lt;/H2&gt;
&lt;PRE&gt;&amp;lt;QueryList&amp;gt;&lt;BR /&gt;  &amp;lt;Query Id="0" Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;Select Path="Security"&amp;gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *[EventData[&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[@Name='TicketEncryptionType']='0x17' or&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data[@Name='SessionKeyEncryptionType']='0x17'&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]]&lt;BR /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;/Select&amp;gt;&lt;BR /&gt;  &amp;lt;/Query&amp;gt;&lt;BR /&gt;&amp;lt;/QueryList&amp;gt;&lt;/PRE&gt;
&lt;H1&gt;Custom Event Forwarder targets&lt;/H1&gt;
&lt;P&gt;If you choose to, you can leverage this XML file (or create your own) for Event forwarding described in the previous blog and get this for targets:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Manifest text&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;BR /&gt;&amp;lt;instrumentationManifest xsi:schemaLocation="http://schemas.microsoft.com/win/2004/08/events eventman.xsd" xmlns="http://schemas.microsoft.com/win/2004/08/events" xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:trace="http://schemas.microsoft.com/win/2004/08/events/trace"&amp;gt;&lt;BR /&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;lt;instrumentation&amp;gt;&lt;BR /&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;lt;events&amp;gt;&lt;BR /&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;lt;provider name="WEC-Legacy Hunter" guid="{8D8635E8-3573-49B6-A5CE-A91601E1B5D9}" symbol="EvtFwdLegHunt" resourceFileName="C:\Windows\system32\Legacy-Hunter-WEC.dll" messageFileName="C:\Windows\system32\Legacy-Hunter-WEC.dll"&amp;gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp; &amp;lt;channels&amp;gt;&lt;BR /&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;&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;lt;channel name="RC4 Keys Only" chid="RC4 Keys Only" symbol="RC4KeysOnly" type="Operational" enabled="true" message="$(string.WEC-Legacy-Hunter.channel.RC4KeysOnly.message)"&amp;gt;&amp;lt;/channel&amp;gt;&lt;BR /&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;&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;lt;channel name="RC4 Used" chid="RC4 Used" symbol="RC4Used" type="Operational" enabled="true" message="$(string.WEC-Legacy-Hunter.channel.RC4Used.message)"&amp;gt;&amp;lt;/channel&amp;gt;&lt;BR /&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;&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;lt;channel name="DES Used" chid="DES Used" symbol="DESUsed" type="Operational" enabled="true" message="$(string.WEC-Legacy-Hunter.channel.DESUsed.message)"&amp;gt;&amp;lt;/channel&amp;gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp; &amp;lt;/channels&amp;gt;&lt;BR /&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;lt;/provider&amp;gt;&lt;BR /&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;lt;/events&amp;gt;&lt;BR /&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;lt;/instrumentation&amp;gt;&lt;BR /&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;lt;localization&amp;gt;&lt;BR /&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;lt;resources culture="en-US"&amp;gt;&lt;BR /&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;lt;stringTable&amp;gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp; &amp;lt;string id="WEC-Legacy-Hunter.channel.RC4Used.message" value="RC4 Ticket issued"&amp;gt;&amp;lt;/string&amp;gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp; &amp;lt;string id="WEC-Legacy-Hunter.channel.RC4KeysOnly.message" value="RC4 Keys Only"&amp;gt;&amp;lt;/string&amp;gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp; &amp;lt;string id="WEC-Legacy-Hunter.channel.DESUsed.message" value="DES Ticket issued"&amp;gt;&amp;lt;/string&amp;gt;&lt;BR /&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;lt;/stringTable&amp;gt;&lt;BR /&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;lt;/resources&amp;gt;&lt;BR /&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;lt;/localization&amp;gt;&lt;BR /&gt;&amp;lt;/instrumentationManifest&amp;gt;&lt;/PRE&gt;
&lt;H2&gt;Visual Studio&lt;/H2&gt;
&lt;P&gt;Previous steps for configuring Visual Studio are in the previous blog post referred to earlier.&amp;nbsp; In order to get the WEC-Legacy-Hunter event logs as shown above, create a New Windows Desktop Wizard Project&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Click Create, and choose Dynamic Link Library as Application type.&amp;nbsp; Make sure Empty Project is checked.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Right click on the right side and choose Add Existing Item&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Select the .rc and .h files.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You should see the files showing in the project as shown below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;On the top Menu bar, select Project-&amp;gt;Properties, and set /NOENTRY under Linker\Advanced.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then, in the top Menu bar, click Build-&amp;gt;Build Solution.&amp;nbsp; In your project folder, there will be a dll file under .\x64\Debug.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can leverage the steps from the previous blog to install the manifest and point each subscription to the intended destination event log like so:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See previous blog for more details on configuring Event Forwarding.&lt;/P&gt;
&lt;P&gt;Once again, good hunting!&lt;/P&gt;</description>
      <pubDate>Fri, 08 May 2026 15:45:53 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/the-end-is-nigh-for-des-and-an-update-for-hunting-down-rc4/ba-p/4499821</guid>
      <dc:creator>Chris_Cartwright</dc:creator>
      <dc:date>2026-05-08T15:45:53Z</dc:date>
    </item>
    <item>
      <title>Troubleshooting TPM Certificate: How to Fix the "Missing Stored Keyset" Error</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/troubleshooting-tpm-certificate-how-to-fix-the-quot-missing/ba-p/4515646</link>
      <description>&lt;P aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 1"&gt;Understanding the "Missing Stored Keyset" Error&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:360,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The "missing stored keyset" error typically appears when an application or service cannot find a necessary key within the system's Key Storage Provider (KSP). This can result from various underlying causes, including corrupted registry keys, improper configurations, or expired certificates. Below are some potential causes of this error:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Corrupted Registry Entries:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Sometimes, entries related to certificate keys might become corrupt, causing access issues.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Permissions Issues:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Inadequate permissions can prevent the necessary access to retrieve or manage keys.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Software Bugs or Misconfiguration:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;System or application-specific bugs or incorrect configurations might cause improper handling of the TPM-stored certificates.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 1"&gt;Step-by-Step Guide to Fix "Missing Stored Keyset"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:360,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Here's&amp;nbsp;a troubleshooting process to resolve this error. Ensure you have administrative privileges on the system.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="2"&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Step 1: Windows Update and TPM Firmware&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Ensure Latest Windows Updates:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="o" data-font="Courier New" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Courier New&amp;quot;,&amp;quot;469769242&amp;quot;:[9675],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;o&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="2"&gt;&lt;SPAN data-contrast="auto"&gt;Access Settings by pressing Windows Key + I and click Update &amp;amp; Security.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="o" data-font="Courier New" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Courier New&amp;quot;,&amp;quot;469769242&amp;quot;:[9675],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;o&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="2"&gt;&lt;SPAN data-contrast="auto"&gt;Ensure&amp;nbsp;the&amp;nbsp;system is&amp;nbsp;up to date&amp;nbsp;as newer patches often resolve TPM issues.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Firmware Update:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="o" data-font="Courier New" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Courier New&amp;quot;,&amp;quot;469769242&amp;quot;:[9675],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;o&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="2"&gt;&lt;SPAN data-contrast="auto"&gt;Check the manufacturer’s site for the latest TPM firmware and BIOS updates specific to your model, especially for addressing known&amp;nbsp;issues and&amp;nbsp;bugs.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P aria-level="2"&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Step 2: Verify TPM Initialization and Ownership&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Before diving deeper, ensure that&amp;nbsp;the&amp;nbsp;TPM is&amp;nbsp;initialized,&amp;nbsp;and the system has clear ownership of it:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="11" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Open the TPM Management Console by typing&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;tpm.msc&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;in the Run dialog.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="11" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Verify that the status&amp;nbsp;states:&amp;nbsp;"The TPM is ready for use."&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Step 3: Verify Certificate Keysets or Store&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;To verify the Platform cryptographic provider certificate using&amp;nbsp;cmd.exe, use the following steps:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Open&amp;nbsp;cmd.exe&amp;nbsp;as Administrator.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Run&amp;nbsp;the command:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;CertUtil&amp;nbsp;-CSP&amp;nbsp;"Microsoft Platform Crypto Provider" -Key&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;To verify the&amp;nbsp;local machine&amp;nbsp;certificate using&amp;nbsp;cmd, use the following steps:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Open&amp;nbsp;Cmd&amp;nbsp;as Administrator.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Execute the command: &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;CertUtil&amp;nbsp;-v&amp;nbsp;-VerifyStore&amp;nbsp;MY&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Step 4: Repair Certificate Keysets&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If registry or keyset corruption is suspected, follow these steps:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Open&amp;nbsp;Cmd&amp;nbsp;as Administrator.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Execute the command:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;CertUtil&amp;nbsp;-RepairStore&amp;nbsp;MY&amp;nbsp;"SerialNumber"&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Step 5: Check and Reset Permissions&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Correct any permissions&amp;nbsp;related problems:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="14" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Open the Certificates MMC Snap-in for&amp;nbsp;the&amp;nbsp;local computer&amp;nbsp;(certlm.msc).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="14" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Locate the specific certificate.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="14" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Right-click and select All Tasks &amp;gt; Manage Private Keys.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="14" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Ensure that necessary accounts (such as SYSTEM, Service or&amp;nbsp;application&amp;nbsp;account,&amp;nbsp;&amp;nbsp;and&amp;nbsp;the&amp;nbsp;user account) have&amp;nbsp;Full Control.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Step 6: Re-&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;enroll&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;&amp;nbsp;Certificates if Necessary&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Certificate reports “Missing stored Keyset”&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;CertUtil RepairStore command fails.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If reports for "Missing stored keyset" persist and repair fails, certificates may need to be restored or re-enrolled:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Request and issue new certificates using your organizational procedures.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 1"&gt;Conclusion&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:360,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Encountering a "missing stored keyset" error with&amp;nbsp;a&amp;nbsp;TPM can be frustrating but&amp;nbsp;can&amp;nbsp;usually&amp;nbsp;be&amp;nbsp;resolved&amp;nbsp;with a methodical approach. By ensuring that the TPM is functional, managing security permissions correctly, checking certificate validity, and keeping systems&amp;nbsp;up to date,&amp;nbsp;this issue can&amp;nbsp;be mitigated. If these steps do not resolve the problem, reaching out to Microsoft Support or consulting&amp;nbsp;the&amp;nbsp;device manufacturer's&amp;nbsp;guidelines may provide&amp;nbsp;additional&amp;nbsp;assistance. For more detailed documentation on troubleshooting TPM errors, please visit Microsoft’s official TPM Technology Documentation.&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/windows/security/hardware-security/tpm/trusted-platform-module-overview" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Trusted Platform Module Technology Overview | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Remember, always ensure a data backup strategy when dealing with cryptographic components to avoid unexpected data loss. These steps&amp;nbsp;can&amp;nbsp;help&amp;nbsp;guide you through fixing the “missing stored keyset” error for TPM certificates effectively. As always, stay informed and backed up. Proper understanding and manipulation of TPM can bolster the security and trustworthiness of your systems. Keep striving for a more secure enterprise environment, and feel free to comment below if you have&amp;nbsp;additional&amp;nbsp;questions or suggestions from your experiences. Until next time, happy troubleshooting!&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Apr 2026 15:18:25 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/troubleshooting-tpm-certificate-how-to-fix-the-quot-missing/ba-p/4515646</guid>
      <dc:creator>mdhabibnawaz</dc:creator>
      <dc:date>2026-04-30T15:18:25Z</dc:date>
    </item>
    <item>
      <title>So, You’ve disabled Windows Hello for Business, but the User can still Sign-in using a PIN</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/so-you-ve-disabled-windows-hello-for-business-but-the-user-can/ba-p/4509318</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Hi, it’s Brent from the Windows Directory Services team. I recently worked a case concerning a user who had the Windows Hello for Business (“WHfB”) policy disabled, but the user could still sign-in to the computer using their PIN. As you may have guessed, the Windows admin team of the Active Directory domain for this user wanted to know how this could be and how they could remove this sign-in option from the user.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="2"&gt;&lt;U&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Let’s&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Talk About the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Problem&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The user&amp;nbsp;retaining&amp;nbsp;the ability to sign-in using their PIN&amp;nbsp;wasn’t&amp;nbsp;the only&amp;nbsp;issue the admin team encountered.&amp;nbsp;&amp;nbsp;After requesting the user to remove the&amp;nbsp;WHfB&amp;nbsp;PIN sign-in,&amp;nbsp;they discovered the&amp;nbsp;option to&amp;nbsp;remove the Windows Hello PIN sign-in&amp;nbsp;was&amp;nbsp;greyed out:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Now,&amp;nbsp;it seemed there&amp;nbsp;wasn’t&amp;nbsp;a way to&amp;nbsp;remove the&amp;nbsp;user’s ability to sign-in with their&amp;nbsp;WHfB&amp;nbsp;PIN.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="2"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;How&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Did We Get Here&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;A Microsoft Intune policy or Windows Active Directory Group Policy Object (“GPO”) was originally enabled for this user to provision Windows Hello for Business sign-in.&amp;nbsp;&amp;nbsp;Sometime after the user was provisioned and using their PIN to sign-in, the Windows admin team determined this user should no longer use WHfB credentials.&amp;nbsp;&amp;nbsp;To remove the user’s ability to do so, they configured the Intune and/or GPO policy to disable Windows Hello for Business. After refreshing the policy to the user’s computer successfully, they confirmed the PassportforWork registry key was set to disabled as follows:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;EM&gt;HKLM\SOFTWARE\Policies\Microsoft\PassportForWork&lt;/EM&gt;&lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;Enabled REG_DWORD 0x0&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The actions performed above will not remove the ability of an already provisioned user from using Windows Hello for Business PIN to sign-in to the Windows computer.&amp;nbsp;&amp;nbsp;To better understand the issue, the following details are provided to clarify the use of policies such as Intune and GPOs in relation to the Windows Hello for Business credential provider.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;When either an Intune policy or Windows GPO is configured for a user to enable WHfB, the policy is only enabling the user to enroll for provisioning to use Windows Hello for Business.&amp;nbsp;&amp;nbsp;The provisioning process and authentication process for Windows Hello for Business are two separate components within the Windows Hello for Business feature.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Since the policy only enables the ability for a user to&amp;nbsp;activate the&amp;nbsp;provisioning process&amp;nbsp;to enroll for&amp;nbsp;Windows&amp;nbsp;Hello for&amp;nbsp;Business, the policy becomes irrelevant after the user successfully provisions.&amp;nbsp;&amp;nbsp;Once a user is provisioned, they will be able to continue using the Windows Hello for Business PIN&amp;nbsp;sign-in&amp;nbsp;even when the policy has been set to disabled.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This behavior is expected and by design, which is documented in the following published article: &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-manage-in-organization#mdm-policy-settings-for-windows-hello-for-business" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Manage Windows Hello in your organization - Windows Security | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;However, by setting the policy to disabled, the user no longer has the ability to activate the provisioning process.&amp;nbsp;&amp;nbsp;The remove button under the Windows Hello PIN sign-in option is used to activate provisioning, which would allow the user to un-enroll for Windows Hello for Business. Therefore, the inability to select the remove button is also expected and by design in this &lt;STRONG&gt;configuration.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;How&amp;nbsp;will&amp;nbsp;the PIN&amp;nbsp;Sign-in be&amp;nbsp;Removed&amp;nbsp;if&amp;nbsp;Provisioning is&amp;nbsp;Disabled?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;To disable Windows Hello for Business&amp;nbsp;in this situation, the Windows Hello container&amp;nbsp;will need to be&amp;nbsp;deleted&amp;nbsp;for the user.&amp;nbsp;&amp;nbsp;To do so,&amp;nbsp;the user&amp;nbsp;will&amp;nbsp;perform the following steps under their&amp;nbsp;user context on each Windows computer they&amp;nbsp;were&amp;nbsp;successfully&amp;nbsp;provisioned&amp;nbsp;prior to the policy being disabled:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Have the user sign-in to the Windows computer using their username and password.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Open a command prompt under the user’s context (not admin) and run the following command:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;certutil.exe -deleteHelloContainer&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL start="3"&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt; Close the command prompt and restart the computer.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With the policy set to disabled, the user will no longer be able to activate the provisioning process on this or any other Windows computer going forward.&amp;nbsp;&amp;nbsp;We&amp;nbsp;wouldn’t&amp;nbsp;want&amp;nbsp;the user to enroll for Windows&amp;nbsp;Hello for&amp;nbsp;Business again after we removed it, right?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559731&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;I hope you&amp;nbsp;found&amp;nbsp;this information helpful&amp;nbsp;in&amp;nbsp;your&amp;nbsp;understanding of&amp;nbsp;Windows Hello for Business administration.&amp;nbsp;&amp;nbsp;Until next time.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Brent Crummey&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Related Registry Keys&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Computer registry - HKLM\SOFTWARE\Policies\Microsoft\PassportForWork&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;User registry - HKCU\SOFTWARE\Policies\Microsoft\PassportForWork&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;References&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-faq#how-do-i-delete-a-windows-hello-for-business-container-on-a-device" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Windows Hello for Business Frequently Asked Questions (FAQ) - Windows Security | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/certutil#-deletehellocontainer" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;certutil&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;&amp;nbsp;| Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2026 22:14:57 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/so-you-ve-disabled-windows-hello-for-business-but-the-user-can/ba-p/4509318</guid>
      <dc:creator>BrentCrummey</dc:creator>
      <dc:date>2026-04-27T22:14:57Z</dc:date>
    </item>
    <item>
      <title>Assigning Process Accountability to Group Policy Refreshes</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/assigning-process-accountability-to-group-policy-refreshes/ba-p/4500101</link>
      <description>&lt;P&gt;Hey All,&lt;/P&gt;
&lt;P&gt;Gaurav and Itay here with some updates to the Group Policy Service debug logging.&lt;/P&gt;
&lt;P&gt;What if you one day noticed that you had machines excessively reprocessing group policy? For a long time, GPSVC logging told you that a GP Refresh happened… but to many admins it was not clear &lt;STRONG&gt;why&lt;/STRONG&gt;, not &lt;STRONG&gt;by whom&lt;/STRONG&gt;, and not &lt;STRONG&gt;what process&lt;/STRONG&gt; triggered it. Today we're going to talk about an update that addresses exactly that.&lt;/P&gt;
&lt;P&gt;We are adding several pieces of attribution data that make the logs dramatically more useful:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Full Timestamps &lt;/STRONG&gt;(now prints the date as well)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Trigger Type &lt;/STRONG&gt;(Command Line, API, etc.)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Parent Process Path + PID &lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;GPUpdate PID &lt;/STRONG&gt;(PID of GPUpdate.exe)&lt;/LI&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;STRONG&gt;Session ID&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;STRONG&gt;User Account Context&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This behavior currently applies to Windows 11 versions 24H2 and 25H2, starting with the February 2026 preview updates or later.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Note: When the Server operating system update becomes available, we will update this article accordingly.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next, let's go through some scenarios with examples!&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="mce-toc"&gt;
&lt;H2&gt;Table of Contents&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="#community--1-mcetoc_1jj40td8b_1" target="_self"&gt;Scenario 1: Manual Group Policy Refresh&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="#community--1-mcetoc_1jj40td8b_2" target="_self"&gt;Scenario 2: Background (Periodic) Group Policy Refresh&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="#community--1-mcetoc_1jj40td8b_3" target="_self"&gt;Scenario 3: Programmatic Group Policy Refresh via the GP API&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="#community--1-mcetoc_1jj40td8b_4" target="_self"&gt;Scenario 4: Scheduled Task / Remote GP Refresh (GPMC) / PowerShell 'Invoke-GPUpdate'&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="#community--1-mcetoc_1jj40td8b_5" target="_self"&gt;Scenario 5: Audit Policy modifications via&amp;nbsp;SecPol&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;H3 id="mcetoc_1jj40td8b_1" aria-level="2"&gt;&lt;SPAN class="lia-text-color-20"&gt;Scenario 1: Manual Group Policy Refresh&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In this&amp;nbsp;scenario, someone has run&amp;nbsp;gpupdate&amp;nbsp;from command line or&amp;nbsp;Run.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;&lt;SPAN class="lia-text-color-15"&gt;Current Logging&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(3650.36a0) 2026-01-01 07:01:02:493&amp;nbsp;RefreshPolicyForPrincipal: Entering with&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null, options: 1,&amp;nbsp;dwTimeout&amp;nbsp;= 600000,&amp;nbsp;currentProcessId&amp;nbsp;= 13904,&amp;nbsp;processImageName&amp;nbsp;= C:\Windows\System32\gpupdate.exe&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(377c.29f8) 2026-01-01 07:01:02:495&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 1,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 600000&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(377c.29f8) 2026-01-01 07:01:02:501&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(377c.29f8)&amp;nbsp;2026-01-01&amp;nbsp;07:01:02:501&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(377c.29f8)&amp;nbsp;2026-01-01&amp;nbsp;07:01:02:501&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 1.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(377c.29f8) 2026-01-01 07:01:02:503&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all&amp;nbsp;users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(377c.29f8) 2026-01-01 07:01:02:503&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 600000.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(377c.29f8) 2026-01-01 07:01:02:503 User SID = &amp;lt;S-1-5-21-869282409-3425305577-2907120315-7716&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;Microsoft-Windows-GroupPolicy/OperationalLog:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:      Microsoft-Windows-GroupPolicy/Operational&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Source:        Microsoft-Windows-GroupPolicy&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Date:          1/1/2026 7:01:02 AM&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:      4004&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Task Category: None&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Level:         Information&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Keywords:     &lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;User:          SYSTEM&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Computer:      CONT-WIN11-1.CONTOSO.local&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Starting manual processing of policy for computer CONTOSO\CONT-WIN11-1$.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;New Logging&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&lt;/EM&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1690.820) 2026-01-01 07:02:23:286&amp;nbsp;RefreshPolicyForPrincipal: Entering with&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null, options: 1,&amp;nbsp;dwTimeout&amp;nbsp;= 600000,&amp;nbsp;currentProcessId&amp;nbsp;= 5776,&amp;nbsp;processImageName&amp;nbsp;= C:\Windows\System32\gpupdate.exe&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(214c.2550) 2026-01-01 07:02:23:286&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 1,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 600000&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(214c.2550) 2026-01-01 07:02:23:296 GP Refresh Attribution: Target=Machine&amp;nbsp;ParentProcess="C:\Windows\System32\cmd.exe"&amp;nbsp;ParentPID=2832&amp;nbsp;GPUpdatePID=5776&amp;nbsp;SessionID=2 Account="CONTOSO\Admin1"&lt;/SPAN&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(214c.2550) 2026-01-01 07:02:23:296&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(214c.2550)&amp;nbsp;2026-01-01&amp;nbsp;07:02:23:296&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(214c.2550)&amp;nbsp;2026-01-01&amp;nbsp;07:02:23:296&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 1.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(214c.2550)&amp;nbsp;2026-01-01&amp;nbsp;07:02:23:296&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(214c.2550)&amp;nbsp;2026-01-01&amp;nbsp;07:02:23:296&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 600000.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(214c.2550) 2026-01-01 07:02:23:296 User SID = &amp;lt;S-1-5-21-869282409-3425305577-2907120315-7716&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;We now have a new GP Operational&amp;nbsp;(Microsoft-Windows-GroupPolicy&amp;nbsp;provider)&amp;nbsp;event that logs the caller attribution data regardless of whether the debug logging is enabled or not.&amp;nbsp;&amp;nbsp;This is logged in combination with the pre-existing Event ID 4004 event:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5 aria-level="4"&gt;&lt;EM&gt;&lt;SPAN class="lia-text-color-10"&gt;Microsoft-Windows-GroupPolicy/OperationalLog:&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:      Microsoft-Windows-GroupPolicy/Operational&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Source:        Microsoft-Windows-GroupPolicy&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Date:          1/1/2026 7:02:23 AM&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:      5321&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Task Category: None&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Level:         Information&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Keywords:     &lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;User:          SYSTEM&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Computer:      CONT-WIN11-2.CONTOSO.local&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;GP Refresh Attribution Parameter: Group Policy refresh. Target=Machine&amp;nbsp;ParentProcess="C:\Windows\System32\cmd.exe"&amp;nbsp;ParentPID=2832&amp;nbsp;GPUpdatePID=5776&amp;nbsp;SessionID=2 Account="CONTOSO\Admin1&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;"&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:      Microsoft-Windows-GroupPolicy/Operational&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Source:        Microsoft-Windows-GroupPolicy&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Date:          1/1/2026 7:02:23 AM&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:      4004&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Task Category: None&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Level:         Information&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Keywords:     &lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;User:          SYSTEM&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Computer:      CONT-WIN11-2.CONTOSO.local&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Starting manual processing of policy for computer CONTOSO\CONT-WIN11-2$&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H3 id="mcetoc_1jj40td8b_2" aria-level="2"&gt;&lt;SPAN class="lia-text-color-20"&gt;Scenario 2: Background (Periodic) Group Policy Refresh&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;By default, the Group Policy engine periodically&amp;nbsp;refreshes&amp;nbsp;every 5 minutes on DCs and every&amp;nbsp;90-120 minutes&amp;nbsp;on&amp;nbsp;everything else.&amp;nbsp;&amp;nbsp;This is an example of one of those unattended refreshes.&amp;nbsp;&amp;nbsp;Gpupdate&amp;nbsp;is also the responsible process here.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;Current Logging&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(c6c.1f70)&amp;nbsp;2026-01-01&amp;nbsp;01:31:10:614&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 0,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 600000&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(c6c.1f70) 2026-01-01 01:31:10:614&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(c6c.1f70)&amp;nbsp;2026-01-01&amp;nbsp;01:31:10:614&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(c6c.1f70)&amp;nbsp;2026-01-01&amp;nbsp;01:31:10:614&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(c6c.1f70) 2026-01-01 01:31:10:614&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(c6c.1f70) 2026-01-01 01:31:10:618&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 600000.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(c6c.1f70) 2026-01-01 01:31:10:618 User SID = &amp;lt;S-1-5-20&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;New Logging&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1aa0.1a44) 2026-01-01 00:34:59:855&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 0,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 600000&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1aa0.1a44) 2026-01-01 00:34:59:866 GP Refresh Attribution: Target=Machine&amp;nbsp;ParentProcess="C:\Windows\System32\svchost.exe"&amp;nbsp;ParentPID=1904&amp;nbsp;GPUpdatePID=8616&amp;nbsp;SessionID=0 Account="NT AUTHORITY\NETWORK SERVICE"&lt;/SPAN&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1aa0.1a44) 2026-01-01 00:34:59:867&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1aa0.1a44)&amp;nbsp;2026-01-01&amp;nbsp;00:34:59:867&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1aa0.1a44)&amp;nbsp;2026-01-01&amp;nbsp;00:34:59:867&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1aa0.1a44)&amp;nbsp;2026-01-01&amp;nbsp;00:34:59:867&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1aa0.1a44)&amp;nbsp;2026-01-01&amp;nbsp;00:34:59:867&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 600000.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1aa0.1a44) 2026-01-01 00:34:59:867 User SID = &amp;lt;S-1-5-20&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Background GP Refreshes&amp;nbsp;leverage&amp;nbsp;Scheduled Tasks to trigger the gpupdate.exe, so you can follow the steps in &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Scenario 4&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;  to&amp;nbsp;establish&amp;nbsp;a correlation between the Task Scheduler and the GP refresh activity.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3 id="mcetoc_1jj40td8b_3" aria-level="2"&gt;&lt;SPAN class="lia-text-color-20"&gt;Scenario 3: Programmatic Group Policy Refresh via the GP API&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This&amp;nbsp;scenario covers applications that use APIs directly to cause refreshes to occur.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;Current Logging&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(2068.2348) 2026-01-01 14:39:51:302&amp;nbsp;RefreshPolicyForPrincipal: Entering with&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null, options: 0,&amp;nbsp;dwTimeout&amp;nbsp;= 0,&amp;nbsp;currentProcessId&amp;nbsp;= 8296,&amp;nbsp;processImageName&amp;nbsp;= C:\Temp\gprefresh.exe&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(15d0.b30) 2026-01-01 14:39:51:304&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 0,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 0&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(15d0.b30) 2026-01-01 14:39:51:304&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(15d0.b30)&amp;nbsp;2026-01-01&amp;nbsp;14:39:51:304&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(15d0.b30)&amp;nbsp;2026-01-01&amp;nbsp;14:39:51:304&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(15d0.b30)&amp;nbsp;2026-01-01&amp;nbsp;14:39:51:304&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(15d0.b30)&amp;nbsp;2026-01-01&amp;nbsp;14:39:51:304&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(15d0.b30) 2026-01-01 14:39:51:304 User SID = &amp;lt;S-1-5-21-869282409-3425305577-2907120315-7716&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;New Logging&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&lt;/EM&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(834.15e0) 2026-01-01 14:39:40:244&amp;nbsp;RefreshPolicyForPrincipal: Entering with&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null, options: 0,&amp;nbsp;dwTimeout&amp;nbsp;= 0,&amp;nbsp;currentProcessId&amp;nbsp;= 2100,&amp;nbsp;processImageName&amp;nbsp;= C:\Temp\gprefresh.exe&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(26ac.874) 2026-01-01 14:39:40:244&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 0,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 0&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(26ac.874) 2026-01-01 14:39:40:253 RPC Call Attribution: Target=Machine&amp;nbsp;ParentProcess="C:\Windows\System32\cmd.exe"&amp;nbsp;ParentPID=2328&amp;nbsp;RpcClient="C:\Temp\gprefresh.exe"&amp;nbsp;RpcClientPID=2100&amp;nbsp;SessionID=2 Account="CONTOSO\Admin1"&lt;/SPAN&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(26ac.874) 2026-01-01 14:39:40:253&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(26ac.874)&amp;nbsp;2026-01-01&amp;nbsp;14:39:40:253&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(26ac.874) 2026-01-01 14:39:40:253&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(26ac.874)&amp;nbsp;2026-01-01&amp;nbsp;14:39:40:253&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(26ac.874) 2026-01-01 14:39:40:253&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(26ac.874) 2026-01-01 14:39:40:253 User SID = &amp;lt;S-1-5-21-869282409-3425305577-2907120315-7716&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H3 id="mcetoc_1jj40td8b_4" aria-level="2"&gt;&lt;SPAN class="lia-text-color-20 lia-linked-item"&gt;Scenario 4: Scheduled Task / Remote GP Refresh (GPMC) / PowerShell 'Invoke-GPUpdate'&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Remote GP Update through GPMC and Invoke-GPUpdate, both&amp;nbsp;leverage&amp;nbsp;Scheduled Tasks to trigger a policy refresh on the target machine(s).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;Current Logging&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(2ab0.206c)&amp;nbsp;2026-01-01&amp;nbsp;17:16:07:563&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 1,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 600000&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(2ab0.206c)&amp;nbsp;2026-01-01&amp;nbsp;17:16:07:563&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(2ab0.206c) 2026-01-01 17:16:07:563&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(2ab0.206c)&amp;nbsp;2026-01-01&amp;nbsp;17:16:07:563&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 1.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(2ab0.206c) 2026-01-01 17:16:07:563&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(2ab0.206c) 2026-01-01 17:16:07:563&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 600000.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(2ab0.206c) 2026-01-01 17:16:07:563 User SID = &amp;lt;S-1-5-20&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;New Logging&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(51c.10d0) 2026-01-01 17:28:44:566&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 1,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 600000&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(51c.10d0) 2026-01-01 17:28:44:573 GP Refresh Attribution: Target=Machine&amp;nbsp;ParentProcess="C:\Windows\System32\svchost.exe"&amp;nbsp;ParentPID=1904&amp;nbsp;GPUpdatePID=204&amp;nbsp;SessionID=0 Account="NT AUTHORITY\NETWORK SERVICE"&lt;/SPAN&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(51c.10d0) 2026-01-01 17:28:44:573&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(51c.10d0)&amp;nbsp;2026-01-01&amp;nbsp;17:28:44:573&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(51c.10d0)&amp;nbsp;2026-01-01&amp;nbsp;17:28:44:575&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 1.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(51c.10d0)&amp;nbsp;2026-01-01&amp;nbsp;17:28:44:575&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(51c.10d0)&amp;nbsp;2026-01-01&amp;nbsp;17:28:44:575&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 600000.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(51c.10d0) 2026-01-01 17:28:44:575 User SID = &amp;lt;S-1-5-20&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;The refresh activity can be corroborated by this Task Scheduler event:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;Microsoft-Windows-TaskScheduler/Operational:&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name: Microsoft-Windows-TaskScheduler/Operational&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Source: Microsoft-Windows-TaskScheduler&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Date: 1/1/2026 5:28:44 PM&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Event ID: 129&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Task Category: Created Task Process&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Level: Information&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Keywords:&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;User: SYSTEM&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Computer: CONT-WIN11-2.CONTOSO.local&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Task Scheduler launch task "\Microsoft\Windows\GroupPolicy\GPUpdate" , instance "gpupdate.exe" with process ID 204.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H3 id="mcetoc_1jj40td8b_5" aria-level="2"&gt;&lt;SPAN class="lia-text-color-20"&gt;Scenario 5: Audit Policy modifications via&amp;nbsp;SecPol&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Modifications to the Advanced Audit Policy configuration via the Local Security Policy console (SecPol) also&amp;nbsp;triggers&amp;nbsp;a GP Refresh.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;Current Logging&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(360.193c) 2026-01-01 16:09:36:594&amp;nbsp;RefreshPolicyForPrincipal: Entering with&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null, options: 0,&amp;nbsp;dwTimeout&amp;nbsp;= 0,&amp;nbsp;currentProcessId&amp;nbsp;= 864,&amp;nbsp;processImageName&amp;nbsp;= C:\Windows\System32\mmc.exe&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(aa0.904) 2026-01-01 16:09:36:594&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 0,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 0&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(aa0.904) 2026-01-01 16:09:36:606&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(aa0.904)&amp;nbsp;2026-01-01&amp;nbsp;16:09:36:608&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(aa0.904)&amp;nbsp;2026-01-01&amp;nbsp;16:09:36:608&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(aa0.904)&amp;nbsp;2026-01-01&amp;nbsp;16:09:36:608&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(aa0.904)&amp;nbsp;2026-01-01&amp;nbsp;16:09:36:608&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(aa0.904) 2026-01-01 16:09:36:608 User SID = &amp;lt;S-1-5-21-869282409-3425305577-2907120315-7716&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN class="lia-text-color-15"&gt;New Logging&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;H5 aria-level="4"&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;EM&gt;GPSVC.LOG:&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1cb4.1d2c) 2026-01-01 16:09:49:240&amp;nbsp;RefreshPolicyForPrincipal: Entering with&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null, options: 0,&amp;nbsp;dwTimeout&amp;nbsp;= 0,&amp;nbsp;currentProcessId&amp;nbsp;= 7348,&amp;nbsp;processImageName&amp;nbsp;= C:\Windows\System32\mmc.exe&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1f94.1fe4) 2026-01-01 16:09:49:240&amp;nbsp;Server_ProcessRefresh::&amp;nbsp;bMachine&amp;nbsp;= 1, SID = null,&amp;nbsp;bForceRefresh&amp;nbsp;= 0,&amp;nbsp;bRefreshAllUsers&amp;nbsp;= 0,&amp;nbsp;dwTimeout&amp;nbsp;= 0&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1f94.1fe4) 2026-01-01 16:09:49:327 RPC Call Attribution: Target=Machine&amp;nbsp;ParentProcess="C:\Windows\System32\cmd.exe"&amp;nbsp;ParentPID=2328&amp;nbsp;RpcClient="C:\Windows\System32\mmc.exe [SECPOL.MSC]"&amp;nbsp;RpcClientPID=7348&amp;nbsp;SessionID=2 Account="CONTOSO\Admin1"&lt;/SPAN&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1f94.1fe4) 2026-01-01 16:09:49:334&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;fired.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1f94.1fe4)&amp;nbsp;2026-01-01&amp;nbsp;16:09:49:334&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;for Machine.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1f94.1fe4)&amp;nbsp;2026-01-01&amp;nbsp;16:09:49:334&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Force Refresh = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1f94.1fe4)&amp;nbsp;2026-01-01&amp;nbsp;16:09:49:334&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Refresh all users = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1f94.1fe4)&amp;nbsp;2026-01-01&amp;nbsp;16:09:49:334&amp;nbsp;CGPApplicationService::RefreshEvent&amp;nbsp;Timeout = 0.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(1f94.1fe4) 2026-01-01 16:09:49:334 User SID = &amp;lt;S-1-5-21-869282409-3425305577-2907120315-7716&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN lia-align-left"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you&amp;nbsp;haven't&amp;nbsp;already, make sure to have a read of &lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/askds/a-treatise-on-group-policy-troubleshooting%E2%80%93now-with-gpsvc-log-analysis/400304" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;A Treatise on Group Policy Troubleshooting – now with GPSVC Log Analysis&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Hope&amp;nbsp;these changes will make your troubleshooting just a little easier. As always — let us know what you want to see next and keep the feedback coming.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Happy debugging!&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Signing out.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Gaurav and Itay.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 09 Mar 2026 15:20:17 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/assigning-process-accountability-to-group-policy-refreshes/ba-p/4500101</guid>
      <dc:creator>itaysarig</dc:creator>
      <dc:date>2026-03-09T15:20:17Z</dc:date>
    </item>
    <item>
      <title>From Guesswork to Clarity: GPP Diagnostics Improve in Windows Server 2025 and Windows 11 24H2</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/from-guesswork-to-clarity-gpp-diagnostics-improve-in-windows/ba-p/4499474</link>
      <description>&lt;P aria-level="1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Hello AskDS readers!&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Sagi and Adesh here. Today we’re excited to talk about&amp;nbsp;a change that finally closes one of the longest‑standing troubleshooting gaps in&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Group Policy Preferences (GPP)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;GPP has always been a powerful way to manage Files, Folders, Drive Maps, Registry, local&amp;nbsp;users&amp;nbsp;and groups, and more.&amp;nbsp;&lt;/SPAN&gt; &lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Unfortunately, when something fails, diagnostics often boil down to a single event:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Event ID 4098.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you’ve spent time troubleshooting&amp;nbsp;GPP, you already know what that meant:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;An error code&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;No object name&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;No path&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;No&amp;nbsp;indication&amp;nbsp;of&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;which&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;preference item failed&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;So&amp;nbsp;you enabled debugging, searched logs,&amp;nbsp;ran&amp;nbsp;ProcMon, and guessed.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;That experience is now officially behind us.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;For background on how Group Policy Preferences work and what each setting is designed for, review the following Microsoft documentation:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/group-policy/group-policy-preferences" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Group Policy preferences in Windows | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn789188(v=ws.11)" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Working with Windows Settings Preference Items Using the GPMC | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With this context in&amp;nbsp;mind, the diagnostic improvements introduced in newer Windows versions make it far easier to&amp;nbsp;identify&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;why&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;a specific preference item did not apply.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:210,&amp;quot;335559739&amp;quot;:210,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;What Changed and When&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Starting with&amp;nbsp;the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;January 2026 update rollup&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;for&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Windows 11 24H2&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Windows 11 25 H2&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, Group Policy Preferences now provide&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;much richer diagnostics&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;Note:&amp;nbsp;When the Server operating system update becomes available, we will update this article accordingly.  &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt; &lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN data-contrast="auto"&gt;These improvements introduce a new event:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Event ID 4117 – Group Policy Preferences Diagnostic Data&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Event ID&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;4117&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;is logged&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;in addition to&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;the legacy Event ID&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;4098&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;While 4098 remains for compatibility,&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;4117 provides the missing context admins have needed for years&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Importantly, this update&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;does not change how GPP processes policies&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;-it only improves visibility when something goes wrong.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;There is no&amp;nbsp;need to set any&amp;nbsp;additional configuration to get the extended information.&lt;/SPAN&gt; &lt;SPAN data-ccp-props="{&amp;quot;335559739&amp;quot;:0,&amp;quot;335572071&amp;quot;:12,&amp;quot;335572072&amp;quot;:0,&amp;quot;335572073&amp;quot;:4278190080,&amp;quot;469789798&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Scenario 1 – File Does Not Exist&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;(“We swear it was there yesterday”)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;A GPP&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;File&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;preference item&amp;nbsp;attempt&amp;nbsp;to copy a file from SYSVOL to a local destination, but the source file is missing.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&lt;U&gt;Before&lt;/U&gt;: Event ID 4098&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;With the old behavior, Event ID 4098 told you&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;something&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;failed-but not much else.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The screenshot below shows a legacy 4098 event for a missing file.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:180,&amp;quot;335572083&amp;quot;:18,&amp;quot;335572084&amp;quot;:4,&amp;quot;335572085&amp;quot;:10921638,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 73.5185%; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group Policy Files&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4098&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;The&amp;nbsp;computer&amp;nbsp;'Contoso_ScreenSaver.jpg'&amp;nbsp;preference&amp;nbsp;item in&amp;nbsp;the 'GPP_Logging&amp;nbsp;{66178DEE-6071-48D1-9B26-F7388733255D}' Group Policy Object did not apply because it failed with error code '0x80070002&amp;nbsp;The&amp;nbsp;system cannot find the file specified.' This error was suppressed.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Which&amp;nbsp;specific&amp;nbsp;file?&amp;nbsp;at&amp;nbsp;which specific&amp;nbsp;path? No idea.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&lt;U&gt;Now&lt;/U&gt;: Event ID 4117&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Event ID 4117 makes the failure explicit.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The screenshot below shows Event ID 4117&amp;nbsp;identifying&amp;nbsp;the missing source file and destination.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:180,&amp;quot;335572083&amp;quot;:18,&amp;quot;335572084&amp;quot;:4,&amp;quot;335572085&amp;quot;:10921638,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 84.4444%; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group Policy Files&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4117&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warning&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Group Policy Preferences Diagnostic Data: Source file '\\contoso.com\SYSVOL\contoso.com\Wallpaper\Contoso_ScreenSaver.jpg'&amp;nbsp;was not found when copying to 'C:\Temp\Contoso_ScreenSaver.jpg'.&amp;nbsp;Error: 0x00000002 (HRESULT: 0x80070002).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;How to proceed&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Verify the exact source path in the event. Does the file exist&amp;nbsp;there?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Correct or restore the file or update the&amp;nbsp;GPP item&amp;nbsp;if&amp;nbsp;the&amp;nbsp;setting is&amp;nbsp;no&amp;nbsp;longer&amp;nbsp;required.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;H5 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Scenario 2 – File Exists, but Access Is Denied&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The file is present, but permissions prevent GPP from copying it.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&lt;U&gt;&lt;SPAN class="lia-text-color-21"&gt;Before&lt;/SPAN&gt;&lt;/U&gt;: Event ID 4098&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The screenshot below shows how Event 4098 reported only “Access is denied.”&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:180,&amp;quot;335572083&amp;quot;:18,&amp;quot;335572084&amp;quot;:4,&amp;quot;335572085&amp;quot;:10921638,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 83.2407%; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group Policy Files&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4098&lt;BR /&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warning&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The&amp;nbsp;computer&amp;nbsp;'Contoso_ScreenSaver.jpg' preference item in the 'GPP_Logging&amp;nbsp;{66178DEE-6071-48D1-9B26-F7388733255D}' Group Policy Object did not apply because it failed with error code '0x80070005 Access is denied.' This error was suppressed.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Where exactly is this&amp;nbsp;file, again?&amp;nbsp;Source or destination? Still unknown.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&lt;U&gt;Now&lt;/U&gt;: Event ID 4117&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Event ID 4117 identifies the file and operation.&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The screenshot below illustrates Event ID 4117 showing a permission failure during a file copy.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:180,&amp;quot;335572083&amp;quot;:18,&amp;quot;335572084&amp;quot;:4,&amp;quot;335572085&amp;quot;:10921638,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 82.037%; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group Policy Files&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:2160,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257,&amp;quot;335559991&amp;quot;:2160}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4117&lt;BR /&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warning&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Group Policy Preferences Diagnostic Data: Access denied when copying '\\contoso.com\SYSVOL\contoso.com\Wallpaper\Contoso_ScreenSaver.jpg'&amp;nbsp;to 'C:\Temp\Contoso_ScreenSaver.jpg'.&amp;nbsp;Check file permissions. Error: 0x00000005 (HRESULT: 0x80070005).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P aria-level="3"&gt;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;How to proceed&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Identify&amp;nbsp;whether the policy runs as SYSTEM or user&amp;nbsp;by&amp;nbsp;identifying if it is in the Computer Configuration or User Configuration section, respectively.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Validate NTFS and share permissions&amp;nbsp;of the corresponding file.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;H5 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Scenario 3 – Folder Delete Fails Due to Permissions&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;A GPP&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Folder&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;preference item&amp;nbsp;attempt&amp;nbsp;to&amp;nbsp;delete&amp;nbsp;C:\temp1.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&lt;U&gt;Before&lt;/U&gt;: Event ID 4098&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Event ID 4098 reported a failure but did not identify which folder caused it.&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Legacy events provided no target folder information.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:180,&amp;quot;335572083&amp;quot;:18,&amp;quot;335572084&amp;quot;:4,&amp;quot;335572085&amp;quot;:10921638,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="3"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 83.4259%; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Log Name: Application&lt;BR /&gt;Source: Group Policy Folders&lt;BR /&gt;Event ID: 4098&lt;BR /&gt;Description:&lt;BR /&gt;The computer 'temp1' preference item in the 'GPP_Logging {66178DEE-6071-48D1-9B26-F7388733255D}' Group Policy Object did not apply because it failed with error code '0x80070005 Access is denied.' This error was suppressed.&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&lt;U&gt;Now&lt;/U&gt;: Event ID 4117&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The screenshot below shows Event ID 4117&amp;nbsp;identifying&amp;nbsp;the exact folder that failed deletion.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:180,&amp;quot;335572083&amp;quot;:18,&amp;quot;335572084&amp;quot;:4,&amp;quot;335572085&amp;quot;:10921638,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 100%; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 99.9074%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group Policy Folders&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4117&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warning&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Group&amp;nbsp;Policy Preferences Diagnostic&amp;nbsp;Data: Access denied to folder 'c:\temp1' during delete. Check permissions. Error: 0x00000005 (HRESULT: 0x80070005).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;How to proceed&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Check NTFS permissions and ownership&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Confirm no locks or AV interference&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;H5 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Scenario 4 – Drive Map with Invalid Network Path&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;A GPP&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Drive Map&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;attempts to map a drive to an invalid UNC path.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&lt;U&gt;Before&lt;/U&gt;: Event ID 4098&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The screenshot below shows Event 4098 reporting only a network error.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:180,&amp;quot;335572083&amp;quot;:18,&amp;quot;335572084&amp;quot;:4,&amp;quot;335572085&amp;quot;:10921638,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 83.1481%; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group Policy Drive Maps&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4098&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warning&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The&amp;nbsp;user&amp;nbsp;'H:' preference item in the 'GPP_Logging&amp;nbsp;{66178DEE-6071-48D1-9B26-F7388733255D}' Group Policy Object did not apply because it failed with error code '0x80070043&amp;nbsp;The&amp;nbsp;network name cannot be found.' This error was suppressed.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Which path? Still unclear.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&lt;U&gt;Now&lt;/U&gt;: Event ID 4117&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Event ID 4117 removes all ambiguity.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The screenshot below shows Event ID 4117&amp;nbsp;identifying&amp;nbsp;the invalid UNC path and drive letter.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:180,&amp;quot;335572083&amp;quot;:18,&amp;quot;335572084&amp;quot;:4,&amp;quot;335572085&amp;quot;:10921638,&amp;quot;469789810&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 83.6111%; border-width: 1px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group Policy Drive Maps&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4117&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warning&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Description:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Group Policy Preferences Diagnostic Data: Network name '&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;\\Server1\BogusShare&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;' is invalid for 'h:'. Error: 0x00000043 (HRESULT: 0x80070043).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:257}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;How to proceed&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Test the UNC path from the client&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Validate DNS and name resolution&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;H4 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Summary: Event ID → Action Decision Table&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Legacy Event&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;New Event&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Diagnostic Meaning&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Recommended Action&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;4098&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;4117&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Source file missing&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Make sure the file exist and match the name and path as in the GPP settings&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;4098&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;4117&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Access denied (file)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Fix NTFS/share permissions for policy context&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;4098&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;4117&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Folder&amp;nbsp;delete&amp;nbsp;failed&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Correct permissions, ownership, or locks&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;4098&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;4117&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Drive Map path invalid&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Fix UNC, DNS, targeting, or remove obsolete map&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H5 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Why This Is a Big Deal&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Previously:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;4098 told you&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;something&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;failed&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Determining&amp;nbsp;details on the failure was sometimes difficult&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Now:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;4117 tells you exactly&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;what&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;where&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, and&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;why&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Troubleshooting becomes deterministic&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Resolution time&amp;nbsp;may decrease in situations where clarity is needed.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Final Thoughts&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Event ID 4117 finally brings Group Policy Preferences diagnostics in line with modern troubleshooting expectations-without changing how policies apply.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you’ve ever&amp;nbsp;stared&amp;nbsp;at&amp;nbsp;Event 4098 wondering&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;“Which one?”&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, this update is for you.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The silence is officially over.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This is not the end of the story.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;(Yes - even GPP gets a character development arc.)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you love these changes, drop us a&amp;nbsp;comment below on how this helped you or if you have additional ideas.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Happy troubleshooting-and as always, we’ll see you in the logs.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;-&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Sagi Vahabi and Adesh Prabhu&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 1"&gt;Resources&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:360,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771375(v=ws.10)" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;What are Permissions? | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559739&amp;quot;:0,&amp;quot;335572071&amp;quot;:12,&amp;quot;335572072&amp;quot;:0,&amp;quot;335572073&amp;quot;:4278190080,&amp;quot;469789798&amp;quot;:&amp;quot;single&amp;quot;}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 23:23:21 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/from-guesswork-to-clarity-gpp-diagnostics-improve-in-windows/ba-p/4499474</guid>
      <dc:creator>SagiVa</dc:creator>
      <dc:date>2026-03-04T23:23:21Z</dc:date>
    </item>
    <item>
      <title>What’s New in Windows Group Policy Preferences Debug Logging</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/what-s-new-in-windows-group-policy-preferences-debug-logging/ba-p/4497060</link>
      <description>&lt;P&gt;Hello again — this is Potti Tagore Nadh from Directory Services team.&lt;/P&gt;
&lt;P&gt;When troubleshooting Windows components, administrators often rely on enhanced logging to diagnose issues quickly and accurately. Group Policy Preferences (GPP) provide verbose debug logging capabilities for each client-side extension (CSE). Traditionally, these settings were available only through domain-based Group Policy Objects (GPOs).&lt;/P&gt;
&lt;P&gt;With the release of February 2026 preview updates on Windows 11 24H2 and 25H2, this is changing—and it’s becoming much easier.&amp;nbsp;&lt;BR /&gt;&lt;EM&gt;Note: When the Server operating system update becomes available, we will update this article accordingly.&lt;/EM&gt;&lt;/P&gt;
&lt;H2&gt;What’s New in Windows 11 24H2, 25H2?&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;GPP Debug Logging Now Available in Local Group Policy&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Starting with:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows 11 24H2&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows 11 25H2&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;And via Windows Updates from February 2026 Preview onward&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Administrators can now enable &lt;STRONG&gt;Group Policy Preferences debug logging directly from Local Group Policy&lt;/STRONG&gt;—not just domain GPOs.&lt;/P&gt;
&lt;P&gt;This enhancement allows troubleshooting directly on client devices &lt;STRONG&gt;without relying on domain controllers&lt;/STRONG&gt;, centralized GPO administration or manually moving Administrative Template files.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;This is a major quality-of-life improvement for IT pros who frequently debug GPP issues.&lt;/STRONG&gt;&lt;/P&gt;
&lt;H2&gt;Group Policy Preferences Debug Logging – Visual Overview&lt;/H2&gt;
&lt;P&gt;First, let's start off with some examples of the settings we are talking about.&lt;/P&gt;
&lt;H3&gt;Figure 1. Group Policy Preferences Debug Logging using Local Group Policy&lt;/H3&gt;
&lt;img /&gt;
&lt;H2&gt;How to Enable Group Policy Preferences Logging and Tracing using Local Group Policy Editor (Gpedit.msc)&lt;/H2&gt;
&lt;P&gt;You can enable logging and tracing for each individual preference CSE. These settings allow you to configure:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;What level of events are logged (&lt;STRONG&gt;Informational&lt;/STRONG&gt;, &lt;STRONG&gt;Warnings&lt;/STRONG&gt;, &lt;STRONG&gt;Errors&lt;/STRONG&gt;, or &lt;STRONG&gt;All&lt;/STRONG&gt;) (Typically, the most Verbose logging helps pin down difficult issues.)&lt;/LI&gt;
&lt;LI&gt;Whether trace logging is enabled&lt;/LI&gt;
&lt;LI&gt;Where trace logs are saved&lt;/LI&gt;
&lt;LI&gt;Maximum trace file size&lt;STRONG style="color: rgb(30, 30, 30);"&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Steps to Configure GPP Logging and Tracing&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;Open &lt;STRONG&gt;Local Group Policy Editor&lt;/STRONG&gt; using gpedit.msc.&lt;/LI&gt;
&lt;LI&gt;Navigate to:&lt;BR /&gt;&lt;STRONG&gt;Computer Configuration → Policies → Administrative Templates → System → Group Policy → Logging and Tracing&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Select the desired &lt;STRONG&gt;Preference CSE&lt;/STRONG&gt; (e.g., Drive Maps, Files, Shortcuts, Printers).&lt;/LI&gt;
&lt;LI&gt;Set the policy to &lt;STRONG&gt;Enabled&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Configure:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Event logging:&lt;/STRONG&gt; &lt;EM&gt;Informational, Warnings, and Errors&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Tracing:&lt;/STRONG&gt; &lt;EM&gt;Enabled&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;User trace path:&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;%COMMONAPPDATA%\GroupPolicy\Preference\Trace\User.log&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Maximum file size:&lt;/STRONG&gt; &lt;EM&gt;1024 KB (increase if logs roll over too quickly)&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Computer trace path:&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;%COMMONAPPDATA%\GroupPolicy\Preference\Trace\Computer.log&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;Click &lt;STRONG&gt;Apply&lt;/STRONG&gt; and &lt;STRONG&gt;OK&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;Figure 2. Preference Logging and Tracing Policy Settings&lt;/H3&gt;
&lt;img /&gt;
&lt;H4&gt;Understanding Trace File Locations&lt;/H4&gt;
&lt;P&gt;The default trace directory for all GPP CSEs is:&lt;/P&gt;
&lt;P&gt;%COMMONAPPDATA%\GroupPolicy\Preference\Trace&lt;/P&gt;
&lt;P&gt;While %COMMONAPPDATA% is &lt;STRONG&gt;not&lt;/STRONG&gt; a standard Windows environment variable, it is recognized and expanded internally by the GPP CSEs.&lt;/P&gt;
&lt;P&gt;Equivalent physical path:&lt;/P&gt;
&lt;P&gt;%SYSTEMDRIVE%\ProgramData\Microsoft\&lt;/P&gt;
&lt;P&gt;Note: This folder is hidden by default. You can type the path directly into File Explorer.&lt;/P&gt;
&lt;P&gt;If you choose a &lt;STRONG&gt;custom folder&lt;/STRONG&gt;, Windows requires:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Full access permissions for the &lt;STRONG&gt;SYSTEM&lt;/STRONG&gt; account&lt;/LI&gt;
&lt;LI&gt;No restrictive ACLs that block service-level writes&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;Figure 3. Required Permissions for Custom Log Folder&lt;/H4&gt;
&lt;P&gt;When configuring a &lt;STRONG&gt;custom trace log folder&lt;/STRONG&gt; for Group Policy Preferences (GPP) Client‑Side Extensions (CSEs), the &lt;STRONG&gt;SYSTEM account must have Full Control&lt;/STRONG&gt; on the directory.&lt;/P&gt;
&lt;P&gt;GPP CSEs run under &lt;STRONG&gt;Local System&lt;/STRONG&gt;, not the user context.&lt;BR /&gt;If SYSTEM lacks permissions:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Trace files will &lt;STRONG&gt;not be created&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Logging will silently &lt;STRONG&gt;fail&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;The introduction of Group Policy Preferences CSE logging to &lt;STRONG&gt;client-side Local Group Policy&lt;/STRONG&gt; in Windows 11 24H2/25H2 and later is a meaningful upgrade for administrators.&lt;/P&gt;
&lt;P&gt;This enhancement:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Simplifies troubleshooting&lt;/LI&gt;
&lt;LI&gt;Reduces dependency on domain or GPO administrators&lt;/LI&gt;
&lt;LI&gt;Provides a more flexible and scalable diagnostic workflow&lt;/LI&gt;
&lt;LI&gt;Brings client, server-level policy debugging features directly to client devices&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;If you’re working with Group Policy Preferences regularly, this update will help you analyze issues faster and more independently.&lt;/P&gt;
&lt;P&gt;Article for original release of Preference Debug Logging:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/blog/askds/enabling-group-policy-preferences-debug-logging-using-the-rsat/395555" target="_blank"&gt;Enabling Group Policy Preferences Debug Logging using the RSAT | Microsoft Community Hub&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 27 Feb 2026 13:36:57 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/what-s-new-in-windows-group-policy-preferences-debug-logging/ba-p/4497060</guid>
      <dc:creator>TagoreN</dc:creator>
      <dc:date>2026-02-27T13:36:57Z</dc:date>
    </item>
    <item>
      <title>Reading GPSVC Like a Crime Novel</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/reading-gpsvc-like-a-crime-novel/ba-p/4497135</link>
      <description>&lt;P&gt;Hello again — this is Adesh Prabhu from Directory Services team.&lt;/P&gt;
&lt;P&gt;A long time ago (and we mean &lt;EM&gt;a long time ago&lt;/EM&gt;), we published a deep dive explaining how to troubleshoot Group Policy by reading the &lt;STRONG&gt;Group Policy Client Service (GPSVC) debug log&lt;/STRONG&gt;. That post, &lt;A href="https://techcommunity.microsoft.com/blog/askds/a-treatise-on-group-policy-troubleshooting%E2%80%93now-with-gpsvc-log-analysis/400304" target="_blank" rel="noopener"&gt;A Treatise on Group Policy Troubleshooting–now with GPSVC Log Analysis! | Microsoft Community Hub&lt;/A&gt;, &amp;nbsp;became one of the most bookmarked resources we’ve ever written, both inside and outside Microsoft.&lt;/P&gt;
&lt;P&gt;However, the Group Policy service debug logging lacked date information, making deep‑dive troubleshooting far more difficult than it needed to be with only timestamps.&lt;/P&gt;
&lt;P&gt;This made it difficult to correlate to networking information or even events, if days had passed and for some reason the log file last modified date was changed, making it very difficult to correlate.&lt;/P&gt;
&lt;P&gt;That limitation is gone.&lt;/P&gt;
&lt;P&gt;Modern versions of Windows 11 24H2 and 25 H2 since November 2025 Preview updates include &lt;STRONG&gt;both date and time&lt;/STRONG&gt; on most Group policy related logs&lt;S&gt;,&lt;/S&gt; and while that may sound trivial, it fundamentally changes how useful this log is in real environments.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Note: When the Server operating system update becomes available, we will update this article accordingly.&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;In this post, we’re going to revisit the blog post, keep all the architectural detail, and walk through &lt;STRONG&gt;how Group Policy actually works on the wire&lt;/STRONG&gt;, what each phase looks like &lt;STRONG&gt;in the log&lt;/STRONG&gt;, and how to read gpsvc output &lt;STRONG&gt;without guessing&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H2&gt;Before we touch the logs: what GPSVC really is&lt;/H2&gt;
&lt;P&gt;We still see this misunderstanding, so let’s start here.&lt;/P&gt;
&lt;P&gt;The &lt;STRONG&gt;Group Policy Client service (GPSVC)&lt;/STRONG&gt; is &lt;EM&gt;not&lt;/EM&gt; optional. It is the service responsible for applying Group Policy on &lt;STRONG&gt;every Windows system&lt;/STRONG&gt;, client, and server.&lt;/P&gt;
&lt;P&gt;A few important facts:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;GPSVC runs in its &lt;STRONG&gt;own svchost instance&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;It does &lt;STRONG&gt;not&lt;/STRONG&gt; run inside Winlogon&lt;/LI&gt;
&lt;LI&gt;If GPSVC is not running, &lt;STRONG&gt;Group Policy does not apply&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The service startup type is &lt;STRONG&gt;Automatic (Trigger Start)&lt;/STRONG&gt;. That does &lt;EM&gt;not&lt;/EM&gt; mean it’s on‑demand in the casual sense — it means Windows starts it exactly when policy processing is required, lets it do its work, and then allows it to idle.&lt;/P&gt;
&lt;P&gt;If GPSVC cannot start or crashes, nothing else in this article matters.&lt;/P&gt;
&lt;H2&gt;Group Policy always runs in two phases (always)&lt;/H2&gt;
&lt;P&gt;Every Group Policy refresh happens in &lt;STRONG&gt;two distinct phases&lt;/STRONG&gt;. Miss this distinction and the gpsvc log will never fully make sense.&lt;/P&gt;
&lt;H3&gt;Phase 1: Core Group Policy processing&lt;/H3&gt;
&lt;P&gt;This is the &lt;STRONG&gt;discovery phase&lt;/STRONG&gt;. During this phase, GPSVC:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Locates a domain controller&lt;/LI&gt;
&lt;LI&gt;Determines the user’s or computer’s distinguished name&lt;/LI&gt;
&lt;LI&gt;Walks the OU hierarchy for linked GPOs&lt;/LI&gt;
&lt;LI&gt;Identifies applicable GPOs&lt;/LI&gt;
&lt;LI&gt;Builds the ordered policy list&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;No settings are applied here.&lt;BR /&gt;No registry. No scripts. No software installs.&amp;nbsp; That doesn’t come until the next phase.&lt;/P&gt;
&lt;P&gt;If you’re troubleshooting why a GPO never even shows up in the Group Policy Operational log or a gpresult, this is the phase you care about.&lt;/P&gt;
&lt;H3&gt;Phase 2: Client‑Side Extension (CSE) processing&lt;/H3&gt;
&lt;P&gt;Once GPSVC knows &lt;EM&gt;what&lt;/EM&gt; should apply, it moves on to &lt;EM&gt;how&lt;/EM&gt; it applies.&lt;/P&gt;
&lt;P&gt;In this phase, GPSVC:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Checks version numbers (GPC vs GPT)&lt;/LI&gt;
&lt;LI&gt;Evaluates security and WMI filtering&lt;/LI&gt;
&lt;LI&gt;Invokes each Client‑Side Extension&lt;/LI&gt;
&lt;LI&gt;Commits policy-based configuration settings to the system&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;If Phase 1 succeeded but the expected GPO settings were not applied, &amp;nbsp;your issue is almost certainly here.&lt;/P&gt;
&lt;H2&gt;Enabling GPSVC debug logging&lt;/H2&gt;
&lt;P&gt;GPSVC logging is still enabled through the registry and is still extremely verbose — by design.&lt;/P&gt;
&lt;P&gt;Create the following key and value:&lt;/P&gt;
&lt;PRE&gt;HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics&lt;BR /&gt;DWORD: GPSvcDebugLevel = 0x30002&lt;/PRE&gt;
&lt;P&gt;Make sure this folder exists:&lt;BR /&gt;%windir%\Debug\Usermode&lt;/P&gt;
&lt;P&gt;If that directory does not exist, &lt;STRONG&gt;gpsvc.log will not be created&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Trigger Group Policy processing using:&lt;/P&gt;
&lt;PRE&gt;gpupdate /force /target:computer&lt;BR /&gt;gpupdate /force /target:user&lt;/PRE&gt;
&lt;P&gt;Processing user and computer policies separately reduces log interleaving and makes analysis easier.&lt;/P&gt;
&lt;H2&gt;First rule of reading gpsvc.log: follow the thread&lt;/H2&gt;
&lt;P&gt;GPSVC is multi‑threaded. This means &lt;STRONG&gt;multiple operations happen at the same time&lt;/STRONG&gt;, and if you don’t follow the correct thread, the log quickly turns into noise.&lt;/P&gt;
&lt;P&gt;A modern log entry looks like this:&lt;/P&gt;
&lt;PRE&gt;GPSVC(4b4.5dc) 2026-1-30 07:43:27:860 ProcessGPO(Machine):&lt;/PRE&gt;
&lt;P&gt;Here’s how to read it:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;4b4&lt;/STRONG&gt; → Process ID (PID)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;5dc&lt;/STRONG&gt; → Thread ID (TID)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Date &amp;amp; Time&lt;/STRONG&gt; → finally present&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Machine/User&lt;/STRONG&gt; → processing context&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;You will typically see &lt;STRONG&gt;two primary threads&lt;/STRONG&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;One for &lt;STRONG&gt;Machine&lt;/STRONG&gt; policy&lt;/LI&gt;
&lt;LI&gt;One for &lt;STRONG&gt;User&lt;/STRONG&gt; policy&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Pick the context you care about and ignore the rest. Mixing threads is the fastest way to get lost.&lt;/P&gt;
&lt;H2&gt;Machine policy processing: what it looks like in the log&lt;/H2&gt;
&lt;P&gt;Machine policy always runs first.&lt;/P&gt;
&lt;P&gt;Early in the log, you’ll see confirmation of machine context:&lt;/P&gt;
&lt;PRE&gt;User SID = MACHINE SID&lt;BR /&gt;bMachine = 1&lt;/PRE&gt;
&lt;P&gt;From here, GPSVC:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Starts the service engine&lt;/LI&gt;
&lt;LI&gt;Waits for critical dependencies&lt;/LI&gt;
&lt;LI&gt;Verifies network connectivity&lt;/LI&gt;
&lt;LI&gt;Discovers applicable GPOs&lt;/LI&gt;
&lt;LI&gt;Evaluates filters and versions&lt;/LI&gt;
&lt;LI&gt;Saves data to local cache&lt;/LI&gt;
&lt;LI&gt;Calls CSEs&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Note that Phase 1 is 1-4, and Phase 2 is 5-7.&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Dependency and startup signatures&lt;/H3&gt;
&lt;PRE&gt;GroupPolicyClientServiceMain&lt;BR /&gt;CGPService::Start&lt;BR /&gt;InitializeRPCServer starting RPCServer&lt;BR /&gt;Detected that this is machine Startup&lt;/PRE&gt;
&lt;P&gt;This is GPSVC making sure prerequisites (RPC, COM, core subsystems) are ready before proceeding.&lt;/P&gt;
&lt;H2&gt;Connectivity waits (these matter more than people think)&lt;/H2&gt;
&lt;P&gt;A large number of “slow boot” complaints are explained right here.&lt;/P&gt;
&lt;PRE&gt;Waiting for connectivity before applying policies&lt;BR /&gt;Waiting for SamSs with timeout 120000&lt;BR /&gt;Waiting for MUP with timeout 113672&lt;BR /&gt;Waiting for DS with timeout 109625&lt;BR /&gt;We have network connectivity... proceeding to apply policy.&lt;/PRE&gt;
&lt;P&gt;This is expected behavior.&lt;/P&gt;
&lt;P&gt;GPSVC &lt;STRONG&gt;will not apply policy until it believes the system is in a usable network state&lt;/STRONG&gt;. The addition of more detailed timestamps makes it easy to see exactly how long these waits lasted and correlate them with NLA, Netlogon, or network traces.&lt;/P&gt;
&lt;H2&gt;OU walk and policy discovery (LSDOU)&lt;/H2&gt;
&lt;P&gt;GPSVC evaluates policies in &lt;STRONG&gt;LSDOU order&lt;/STRONG&gt;.&lt;/P&gt;
&lt;PRE&gt;SearchDSObject: Searching &amp;lt;OU=Workstations,OU=Bangalore,DC=contoso,DC=com&amp;gt;&lt;BR /&gt;Found GPO(s): &amp;lt;[LDAP://cn={9266...},cn=policies,cn=system,DC=contoso,DC=com;0]&amp;gt;&lt;BR /&gt;...&lt;BR /&gt;SearchDSObject: Searching &amp;lt;DC=contoso,DC=com&amp;gt;&lt;BR /&gt;Found GPO(s): &amp;lt;[LDAP://CN={31B2...},CN=Policies,CN=System,DC=contoso,DC=com;0]&amp;gt;&lt;BR /&gt;...&lt;BR /&gt;SearchDSObject: Searching &amp;lt;CN=Default-First-Site-Name,...&amp;gt;&lt;/PRE&gt;
&lt;P&gt;The GUID identifies the GPO.&lt;BR /&gt;The trailing number after the semicolon indicates state:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;0 = Enabled&lt;/LI&gt;
&lt;LI&gt;1 = Disabled&lt;/LI&gt;
&lt;LI&gt;2 = Enforced&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Versioning, filtering, and replication health&lt;/H2&gt;
&lt;P&gt;Once a GPO is identified, GPSVC validates it:&lt;/P&gt;
&lt;PRE&gt;Machine has access to this GPO.&lt;BR /&gt;GPO passes the filter check.&lt;BR /&gt;Found functionality version of: 2&lt;BR /&gt;Found file system path of: \\contoso.com\sysvol\contoso.com\Policies\{31B2...}&lt;BR /&gt;Found display name of: &amp;lt;Default Domain Policy&amp;gt;&lt;BR /&gt;Found machine version of: GPC is 3, GPT is 3&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;If GPC and GPT do not match, you have a replication problem, either in SYSVOL or in AD.&lt;/STRONG&gt;&lt;BR /&gt;It’s that simple.&lt;/P&gt;
&lt;P&gt;Machine account needs read access on all user policies too in addition to user (Read &amp;amp; Apply)&lt;/P&gt;
&lt;H2&gt;Group Policy caching (what it actually looks like)&lt;/H2&gt;
&lt;P&gt;Caching improves synchronous processing by reusing locally stored policy data.&lt;/P&gt;
&lt;P&gt;When caching is involved, look for these signatures:&lt;/P&gt;
&lt;PRE&gt;CanStartFromLocalDataStore:++&lt;BR /&gt;CanLoadGPOsFromLocalCache:++&lt;BR /&gt;SaveGPOsToLocalCache: Saving values to local cache.&lt;BR /&gt;SaveGPOsToLocalCache(Machine): Successfully flip active bit of current data store.&lt;/PRE&gt;
&lt;P&gt;Reading this in English:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Cache eligibility evaluated&lt;/LI&gt;
&lt;LI&gt;Local policy data written&lt;/LI&gt;
&lt;LI&gt;Active cache store committed&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;If you expect caching and don’t see these lines, it isn’t participating — usually because an administrator has disabled caching via the “Configure Group Policy Caching” setting.&lt;/P&gt;
&lt;H2&gt;Slow link detection (log‑driven, not event‑driven)&lt;/H2&gt;
&lt;P&gt;Slow link evaluation happens &lt;STRONG&gt;only during synchronous policy processing&lt;/STRONG&gt;.&lt;/P&gt;
&lt;PRE&gt;GetBandwidthThreshold: Bandwidth Threshold (WINLOGON) = 500.&lt;BR /&gt;GetBandwidthEstimate returned Bandwidth = 4294967.&lt;BR /&gt;IsSlowLink: Current Bandwidth &amp;gt;= Bandwidth Threshold.&lt;/PRE&gt;
&lt;P&gt;GPSVC compares measured bandwidth against policy thresholds. If evaluation fails, it uses the&amp;nbsp;&lt;STRONG&gt;last known state&lt;/STRONG&gt; recorded in policy history.&lt;/P&gt;
&lt;H2&gt;CSE processing: the business end of Group Policy&lt;/H2&gt;
&lt;P&gt;Once discovery and validation are complete, GPSVC calls Client‑Side Extensions.&lt;/P&gt;
&lt;H3&gt;Registry CSE example&lt;/H3&gt;
&lt;PRE&gt;ProcessGPOs(Machine): Processing extension Registry&lt;BR /&gt;SetRegistryValue: Wallpaper =&amp;gt; C:\Temp\Wallpaper\Wallpaper.jpg [OK]&lt;BR /&gt;LogRegistryRsopData: Successfully logged registry Rsop data&lt;/PRE&gt;
&lt;P&gt;Each CSE:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Acquires locks&lt;/LI&gt;
&lt;LI&gt;Applies changes&lt;/LI&gt;
&lt;LI&gt;Reports success or failure&lt;/LI&gt;
&lt;LI&gt;Updates RSOP data&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Understanding &lt;STRONG&gt;which CSE applied which setting&lt;/STRONG&gt; is often the key to resolving conflicts.&lt;/P&gt;
&lt;P&gt;Registry CSE logging for administrative template settings is always logged in GPSVC.log, all other CSEs have its own debug logging as described in &lt;A href="https://techcommunity.microsoft.com/blog/askds/a-treatise-on-group-policy-troubleshooting%E2%80%93now-with-gpsvc-log-analysis/400304" target="_blank" rel="noopener"&gt;A Treatise on Group Policy Troubleshooting–now with GPSVC Log Analysis! | Microsoft Community Hub&lt;/A&gt;.&lt;/P&gt;
&lt;H2&gt;User policy processing&lt;/H2&gt;
&lt;P&gt;After machine policy completes, GPSVC starts the user thread:&lt;/P&gt;
&lt;PRE&gt;ProcessGPO(User):&lt;/PRE&gt;
&lt;P&gt;From here, the same phases repeat:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;OU walk&lt;/LI&gt;
&lt;LI&gt;Filter evaluation&lt;/LI&gt;
&lt;LI&gt;Version checks&lt;/LI&gt;
&lt;LI&gt;CSE execution&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Foreground processing mode may temporarily switch to synchronous during first logon:&lt;/P&gt;
&lt;PRE&gt;gpSetFgPolicyRefreshInfo (... info.mode: Synchronous)&lt;BR /&gt;gpSetFgPolicyRefreshInfo (... info.mode: Asynchronous)&lt;/PRE&gt;
&lt;P&gt;This is expected.&lt;/P&gt;
&lt;H2&gt;When gpsvc.log isn’t enough: use TSS&lt;/H2&gt;
&lt;P&gt;For complex issues involving authentication, replication, or drivers, collect unified traces using &lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-client/windows-tss/introduction-to-troubleshootingscript-toolset-tss" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;TSS (Troubleshooting Script)&lt;/STRONG&gt;&lt;/A&gt;. TSS directory has GUI version called TSGUI.ps1 which you can use to explore different options/switches to get additional tracing capabilities. &amp;nbsp;Not all of the files will be readable, but you may find clues in the text and log files to self resolve certain issues that you may run into.&amp;nbsp; If the issue cannot be resolved, Microsoft Support can read some of the other files.&amp;nbsp; Note: always test this before executing them in production.in production.&lt;/P&gt;
&lt;PRE&gt;md C:\TSS&lt;BR /&gt;Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force&lt;BR /&gt;Start-BitsTransfer https://aka.ms/getTSS -Destination C:\TSS\TSS.zip&lt;BR /&gt;Expand-Archive C:\TSS\TSS.zip -DestinationPath C:\TSS -Force&lt;BR /&gt;C:\TSS\TSS.ps1 -Scenario ADS_GPOEx&lt;/PRE&gt;
&lt;H3&gt;Full date and time are available now in all group policy debug log files, here are sample log entries that look like with date and time:&lt;/H3&gt;
&lt;H5&gt;To troubleshoot group policy core engine issues:&lt;/H5&gt;
&lt;P&gt;Gpsvc.log:&lt;/P&gt;
&lt;PRE&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:216 ProcessGPOs(Machine): Send a network activate for AOAC. GPSVC(188c.25d8) 2026-01-30 11:13:17:216 Passive Network activated.&lt;BR /&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:218 ProcessGPOs(Machine): Verbose output to eventlog requested.&lt;BR /&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:230 Opened Existing Registry key&lt;BR /&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:230 UncPath :'\\contoso.com\SYSVOL'&lt;BR /&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:230 UncPath :'\\contoso.com\NETLOGON'&lt;BR /&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:254 GetDomainControllerConnectionInfo: Enabling bandwidth estimate.&lt;BR /&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:278 Started bandwidth estimation successfully&lt;BR /&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:278 GetDomainControllerConnectionInfo: Getting Ldap Handles. GPSVC(188c.25d8) 2026-01-30 11:13:17:278 GetLdapHandle: Getting ldap handle for host: DC1.contoso.com in domain: contoso.com.&lt;BR /&gt;GPSVC(188c.25d8) 2026-01-30 11:13:17:289 GetLdapHandle: Server connection established. GPSVC(188c.25d8) 2026-01-30 11:13:17:300 GetLdapHandle: Binding using only kerberos. GPSVC(188c.25d8) 2026-01-30 11:13:17:324 GetLdapHandle: Bound successfully.&lt;/PRE&gt;
&lt;H5&gt;To troubleshoot GPMC snap-in related errors:&lt;/H5&gt;
&lt;P&gt;Gpmc.log&lt;/P&gt;
&lt;PRE&gt;GPMC(5ac.8f0) 2026-01-30 11:13:47:878 Created semaphore with handle 0000000000000A84&lt;BR /&gt;GPMC(5ac.8f0) 2026-01-30 11:13:47:878 In Object 0x00000000029AA6C0, initializing semaphore handle to 0000000000000A84 for report 0x00000000029AEB08&lt;BR /&gt;GPMC(5ac.8f0) 2026-01-30 11:13:47:884 Wait on semaphore 0000000000000A84 called&lt;BR /&gt;GPMC(5ac.8f0) 2026-01-30 11:13:47:884 Wait on semaphore 0000000000000A84 called&lt;BR /&gt;GPMC(5ac.e30) 2026-01-30 11:13:49:801 CReportImpl::SetReportAsync Calling set report with 0x00000000029a2610 and 0x000000000671EE20&lt;BR /&gt;GPMC(5ac.e30) 2026-01-30 11:13:49:803 CCookieCutter::SetReport SetReport called with cookie 0x29a2610 and nodedeletedflag 000000000671EE20&lt;BR /&gt;GPMC(5ac.e30) 2026-01-30 11:13:49:803 In object 0x00000000029AA6C0, Releasing semaphore 0000000000000A84&lt;BR /&gt;GPMC(5ac.8f0) 2026-01-30 11:13:57:222 Clearing out 0 SIDs GPMC(5ac.8f0) 2026-01-30 11:13:58:126 In Object 0x00000000029A9EC0, initializing semaphore handle to 0000000000000A84 for report 0x00000000029AEB08 GPMC(5ac.8f0) 2026-01-30 11:13:58:126 Wait on semaphore 0000000000000A84 called&lt;BR /&gt;GPMC(5ac.8f0) 2026-01-30 11:13:58:126 Wait on semaphore 0000000000000A84 called&lt;BR /&gt;GPMC(5ac.5f0) 2026-01-30 11:13:58:418 CReportImpl::SetReportAsync Calling set report with 0x00000000029a2610 and 0x0000000003EA9920&lt;BR /&gt;GPMC(5ac.5f0) 2026-01-30 11:13:58:418 CCookieCutter::SetReport SetReport called with cookie 0x29a2610 and nodedeletedflag 0000000003EA9920&lt;BR /&gt;GPMC(5ac.5f0) 2026-01-30 11:13:58:418 In object 0x00000000029A9EC0, Releasing semaphore 0000000000000A84&lt;/PRE&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;GPmgmt log:&lt;/P&gt;
&lt;PRE&gt;[5ac.8f0] 2026-01-30 15:56:36:269 [VERBOSE] GETADSIHandle: successfully bound to ds object escaped &amp;lt;LDAP://DC1.contoso.com/DC=contoso,DC=com&amp;gt;&lt;BR /&gt;[5ac.8f0] 2026-01-30 15:56:36:269 [VERBOSE] CForest::GetTrustedDomains was called for contoso.com forest and contoso.com domain&lt;BR /&gt;[5ac.8f0] 2026-01-30 15:56:36:269 [VERBOSE] CForest::GetForestAndDomain was called for CONTOSO.COM [5ac.8f0] 2026-01-30 15:56:36:273 [VERBOSE] CForest::GetForestAndDomain::DsGetDcName Forest: contoso.com Domain: contoso.com&lt;BR /&gt;[5ac.8f0] 2026-01-30 15:56:36:275 [VERBOSE] CForest::GetForestAndDomain was called for contoso.com [5ac.8f0] 2026-01-30 15:56:36:277 [VERBOSE] CForest::GetForestAndDomain::DsGetDcName Forest: contoso.com Domain: contoso.com&lt;BR /&gt;[5ac.8f0] 2026-01-30 15:56:36:277 [VERBOSE] CForest::CheckForestAndDomainTrust same forest: contoso.com [5ac.8f0] 2026-01-30 15:56:36:279 [VERBOSE] GetDomainDN: Domain FQDN of domain contoso.com = DC=contoso,DC=com&lt;/PRE&gt;
&lt;P&gt;gpmgmtManaged.log:&lt;/P&gt;
&lt;PRE&gt;Reporting(3620.1) 2026-01-30 15:11:26:961 Rsop::Initialize:----------------------------------------------&lt;BR /&gt;Reporting(3620.1) 2026-01-30 15:11:26:961 Rsop::Initialize:Namespace= root\rsop\ns7406d980_1c36_4aad_b4c9_a0942f9894dc&lt;BR /&gt;Reporting(3620.1) 2026-01-30 15:11:26:963 Rsop::Initialize:----------------------------------------------&lt;BR /&gt;Reporting(3620.1) 2026-01-30 15:11:26:963 Rsop::Initialize:Initialising computer RSOP data&lt;BR /&gt;Reporting(3620.1) 2026-01-30 15:11:27:073 RsopTargetResults::.ctor:Name = CONTOSO\Client1$&lt;BR /&gt;Reporting(3620.1) 2026-01-30 15:11:27:073 Rsop::Initialize:Initialising user RSOP data&lt;BR /&gt;Reporting(3620.1) 2026-01-30 15:11:27:079 RsopTargetResults::.ctor:Name = CONTOSO\policy&lt;BR /&gt;Reporting(3620.1) 2026-01-30 15:11:27:081 CrimsonEvtLogConsumer::.ctor:MachineName is either null or empty Reporting(3620.1) 2026-01-30 15:11:27:083 Rsop::Initialize:Namespace is of LoggedData type&lt;/PRE&gt;
&lt;H5&gt;To troubleshoot Group policy editor related issues:&lt;/H5&gt;
&lt;P&gt;Gpedit.log&lt;/P&gt;
&lt;PRE&gt;GPEDIT(5ac.8f0) 2026-01-30 15:57:08:243 CGroupPolicyObject::New: Entering with: GPEDIT(5ac.8f0) 2026-01-30 15:57:08:245 CGroupPolicyObject::New: Domain Name: LDAP://DC1.contoso.com/DC=contoso,DC=com GPEDIT(5ac.8f0) 2026-01-30 15:57:08:247 CGroupPolicyObject::New: Flags: 0x0 GPEDIT(5ac.8f0) 2026-01-30 15:57:08:247 CGroupPolicyObject::New: Checking if DC (DC1.contoso.com) is read-only. GPEDIT(5ac.8f0) 2026-01-30 15:57:08:294 CGroupPolicyObject::New: DC (DC1.contoso.com) is NOT read-only.&lt;/PRE&gt;
&lt;H5&gt;To troubleshoot ADMX or ADML parsing issues:&lt;/H5&gt;
&lt;P&gt;AdmTmpl.log:&lt;/P&gt;
&lt;P&gt;Group Policy Editor ADMX/ADML&lt;/P&gt;
&lt;P&gt;The Group Policy Editor for Administrative Templates Registry Policy has logging on its work. It allows for example to understand in detail why it fails parsing the set of ADMX/ADML files. One example would be if files have mismatched versions that lead to:&lt;/P&gt;
&lt;P&gt;Extension ADMX refer to OS release tags that Windows.Admx does not have.&lt;/P&gt;
&lt;P&gt;ADMX files define policies twice as ADMX files got renamed and customer incorrectly merged sets of files.&lt;/P&gt;
&lt;P&gt;Registry Configuration&lt;/P&gt;
&lt;PRE&gt;Value Path: HKLM\SOFTWARE\Microsoft\Group Policy&lt;BR /&gt;Value Name: AdmTmplDebugLevel&lt;BR /&gt;Value Type: REG_DWORD&lt;BR /&gt;Value Data: 10002 (hex)&lt;/PRE&gt;
&lt;P&gt;Output: %temp%\AdmTmpl.log&lt;/P&gt;
&lt;PRE&gt;AdmTmpl(5f0.518) 2026-01-30 12:44:23:684 CPolicyComponentData::CreateComponent: Entering.&lt;BR /&gt;AdmTmpl(5f0.518) 2026-01-30 12:44:23:688 CPolicySnapIn::Initialize: Entering ... AdmTmpl(5f0.518) 2026-01-30 12:44:23:694 CPolicySnapIn::Initialize: Creating editor manager.&lt;BR /&gt;AdmTmpl(5f0.518) 2026-01-30 12:44:23:874 CPolicySnapIn::Initialize: Exiting AdmTmpl(5f0.2054) 2026-01-30 12:44:23:894 CPolicyComponentData::LoadTemplates: Entering for Machine AdmTmpl(5f0.2054) 2026-01-30 12:44:23:896 File does not exist: '\\contoso.com\sysvol\contoso.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\Machine\comment.cmtx'.&lt;BR /&gt;AdmTmpl(5f0.2054) 2026-01-30 12:44:23:942 PDX parser: Parsing file 'C:\Windows\PolicyDefinitions\AccountNotifications.admx'.&lt;BR /&gt;AdmTmpl(5f0.2054) 2026-01-30 12:44:23:985 PDX parser: Obtained appropriate PDX resource file 'C:\Windows\PolicyDefinitions\en-US\AccountNotifications.adml' for language 'en-US'. AdmTmpl(5f0.2054) 2026-01-30 12:44:23:987 PDX parser: Parsing resource file 'C:\Windows\PolicyDefinitions\en-US\AccountNotifications.adml'. AdmTmpl(5f0.2054) 2026-01-30 12:44:24:006 PDX parser: Parsing resource file completed successfully. &lt;BR /&gt;AdmTmpl(5f0.2054) 2026-01-30 12:44:24:008 PDX parser: Successfully parsed file.&lt;BR /&gt;AdmTmpl(5f0.2054) 2026-01-30 12:44:24:008 PDX parser: Parsing file 'C:\Windows\PolicyDefinitions\ActiveXInstallService.admx'. AdmTmpl(5f0.2054) 2026-01-30 12:44:24:010 PDX parser: Obtained appropriate PDX resource file 'C:\Windows\PolicyDefinitions\en-US\ActiveXInstallService.adml' for language 'en-US'.&lt;BR /&gt;AdmTmpl(5f0.2054) 2026-01-30 12:44:24:010 PDX parser: Parsing resource file 'C:\Windows\PolicyDefinitions\en-US\ActiveXInstallService.adml'. AdmTmpl(5f0.2054) 2026-01-30 12:44:24:012 PDX parser: Parsing resource file completed successfully.&lt;BR /&gt;AdmTmpl(5f0.2054) 2026-01-30 12:44:24:014 PDX parser: Successfully parsed file.&lt;BR /&gt;AdmTmpl(5f0.2054) 2026-01-30 12:44:24:014 PDX parser: Parsing file 'C:\Windows\PolicyDefinitions\AddRemovePrograms.admx'. AdmTmpl(5f0.2054) 2026-01-30 12:44:24:016 PDX parser: Obtained appropriate PDX resource file 'C:\Windows\PolicyDefinitions\en-US\AddRemovePrograms.adml' for language 'en-US'. AdmTmpl(5f0.2054) 2026-01-30 12:44:24:016 PDX parser: Parsing resource file 'C:\Windows\PolicyDefinitions\en-US\AddRemovePrograms.adml'. AdmTmpl(5f0.2054) 2026-01-30 12:44:24:024 PDX parser: Parsing resource file completed successfully. AdmTmpl(5f0.2054) 2026-01-30 12:44:24:024 PDX parser: Successfully parsed file.&lt;/PRE&gt;
&lt;H2&gt;Final thoughts&lt;/H2&gt;
&lt;P&gt;Group Policy hasn’t gotten simpler — but the &lt;STRONG&gt;tools to understand it have improved&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;With full timestamps now present in gpsvc.log, you can finally correlate Group Policy behavior with the rest of the system instead of guessing.&lt;/P&gt;
&lt;P&gt;If you:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Follow one thread&lt;/LI&gt;
&lt;LI&gt;Respect the two‑phase model&lt;/LI&gt;
&lt;LI&gt;Read discovery before execution&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The gpsvc log will tell you exactly what happened — and why.&lt;/P&gt;
&lt;P&gt;And yes, this is still one of the best troubleshooting tools in Windows.&lt;/P&gt;
&lt;H2&gt;Additional resources:&lt;/H2&gt;
&lt;P&gt;&lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fprevious-versions%2Fwindows%2Fit-pro%2Fwindows-vista%2Fcc749336(v%253dws.10)&amp;amp;data=05%7C02%7CAdesh.Prabhu%40microsoft.com%7C73f2be523c354fdb4f4b08de4b6da91d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639031132286818853%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=x%2BKIJER013MiIyzf0jdDhDKgNB9nzZUgUKpdMT0RZMg%3D&amp;amp;reserved=0" target="_blank" rel="noopener"&gt;Troubleshooting Group Policy Using Event Logs | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Ftroubleshoot%2Fwindows-client%2Fwindows-tss%2Fintroduction-to-troubleshootingscript-toolset-tss&amp;amp;data=05%7C02%7CAdesh.Prabhu%40microsoft.com%7C73f2be523c354fdb4f4b08de4b6da91d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639031132286828173%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=foLev0vWB70sAbSo7yJYosLY2sQQdSptsP%2Ba%2BYH879Y%3D&amp;amp;reserved=0" target="_blank" rel="noopener"&gt;Introduction to TroubleShootingScript toolset (TSS) - Windows Client | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 25 Feb 2026 18:02:28 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/reading-gpsvc-like-a-crime-novel/ba-p/4497135</guid>
      <dc:creator>Chris_Cartwright</dc:creator>
      <dc:date>2026-02-25T18:02:28Z</dc:date>
    </item>
    <item>
      <title>When Group Policy Goes Haywire: Spotting registry.pol Corruption Fast (and other problems too)</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/when-group-policy-goes-haywire-spotting-registry-pol-corruption/ba-p/4496127</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If&amp;nbsp;you’re&amp;nbsp;in charge of Group Policy settings, you know how critical the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;local&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;registry.pol&amp;nbsp;file is and how nerve-wracking it can be when things go awry.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;This post focuses on Local Group Policy’s&amp;nbsp;registry.pol&amp;nbsp;(not SYSVOL-hosted domain policy files), though corruption in the local&amp;nbsp;registry.pol&amp;nbsp;can derail Group Policy processing and&amp;nbsp;ultimately prevent&amp;nbsp;domain GPOs from applying.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Luckily, Windows now provides much more actionable insight when&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;corruption is detected in this vital file&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt; Rather than introducing a new event or log, the existing Group Policy error, Event ID 1096 in the System event log, now includes more specific and informative details in the event’s&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Details&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt; tab&lt;/STRONG&gt;. It is like having a trusty sidekick that does not just raise an alarm but tells you exactly what went wrong, helping you identify and address Group Policy inconsistencies before they ripple through your environment. Dive in to see how this improvement makes troubleshooting Group Policy issues more transparent and far less stressful. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;Operating System&amp;nbsp;Note&lt;/SPAN&gt;&amp;nbsp;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;This behavior currently applies to Windows 11 versions 24H2 and&amp;nbsp;25H2, starting with the&amp;nbsp;February Cumulative Update&amp;nbsp;2026&amp;nbsp;or&amp;nbsp;later.&amp;nbsp;When the Server operating system update becomes available, we will update this article accordingly.  &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Scenarios/Examples &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The local&amp;nbsp;registry.pol corruption can occur in several scenarios, such as accidental manual edits, invalid entries by 3&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-fontsize="12"&gt;rd&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; party software, gpsvc crashes/failures, and unexpected disk errors. Local&amp;nbsp;registry-based policy errors can be persistent and problematic,&amp;nbsp;and if the local Group Policy Object (GPO) registry.pol file is corrupted and unable to apply, it will stop domain group policy registry settings from applying too. Windows’ improved event logging mechanism acts as an early warning system, instantly alerting administrators to issues and providing detailed insights in the Event 1096 Details tab for a swift resolution. No more chasing shadows, just clear and actionable information for a smoother Group Policy experience! &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-contrast="auto"&gt;The locations of the local registry.pol files can be found in &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-contrast="auto"&gt;C:\Windows\System32\GroupPolicy\User\registry.pol, for the user registry.pol, and C:\Windows\System32\GroupPolicy\Machine\registry.pol for the machine.&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Example 1: Manually &lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;modified&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt; the contents of &lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;registry.pol&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt; with invalid data.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;For the examples below, please note that, for the purpose of the blog, we intentionally&amp;nbsp;manually&amp;nbsp;modified&amp;nbsp;the&amp;nbsp;registry.pol&amp;nbsp;to corrupt it. This file should never be&amp;nbsp;modified&amp;nbsp;outside of&amp;nbsp;group policy.&amp;nbsp;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In this case, we opened the C:\Windows\System32\GroupPolicy\User\registry.pol file and inserted a string of text such as "test wrong text” which cannot be processed by Group Policy.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Before February Cumulative Update&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; 2026&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;After &amp;nbsp;February&amp;nbsp;Cumulative update&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; 2026 &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Command Prompt Output&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Command Prompt Output&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;System Event Log&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Error      12/4/2025 7:15:09 AM&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;GroupPolicy (Microsoft-Windows-GroupPolicy)&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;1096&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;None &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;table border="1" style="width: 100.939%; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;ErrorCode&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;13 &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;ErrorDescription&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td colspan="2"&gt;&lt;SPAN class="lia-text-color-21"&gt;&lt;SPAN class="lia-text-color-2"&gt;&lt;SPAN class="lia-text-color-21"&gt;&lt;MARK&gt;The data is invalid.&lt;/MARK&gt;&lt;/SPAN&gt;  &lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2"&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;DCName&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="#community--1-file://contemumdcc.contoso.com/" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;\\ConteMumDCC.contoso.com&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2"&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPOCNName&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;LocalGPO &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2"&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;FilePath&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;C:\WINDOWS\System32\GroupPolicy\User\registry.pol&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;System Event Log&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Error      12/4/2025 7:15:09 AM&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;GroupPolicy (Microsoft-Windows-GroupPolicy)&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;1096&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;None &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;table border="1" style="width: 100.334%; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;SPAN data-contrast="auto"&gt;ErrorCode&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-contrast="auto"&gt;13 &lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-contrast="auto"&gt;ErrorDescription&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;MARK&gt;Error during registry file parsing: Invalid file signature &lt;/MARK&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;DCName&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;A href="#community--1-file://contemumdcc.contoso.com/" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;\\ConteMumDCC.contoso.com&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPOCNName&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;LocalGPO &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;FilePath&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;C:\WINDOWS\System32\GroupPolicy\User\registry.pol&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC&amp;nbsp;Log&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;  &lt;/STRONG&gt;-&amp;nbsp;The GPSVC log does not experience any changes after the update and will continue to show details&amp;nbsp;like&amp;nbsp;below:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(4f4.19d0) 07:20:07:546 ParseRegistryFile: Entering with &amp;lt;C:\WINDOWS\System32\GroupPolicy\User\registry.pol&amp;gt;. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(4f4.19d0) 07:20:07:548 ParseRegistryFile: Invalid file signature &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(4f4.19d0) 07:20:07:548 ParseRegistryFile: Leaving. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(4f4.19d0) 07:20:07:548 ProcessGPORegistryPolicy: ParseRegistryFile failed. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Example 2:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Missing permissions for SYSTEM on &lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;registry.pol&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In this example, we incorrectly&amp;nbsp;modify&amp;nbsp;the ACL on the file to prevent it from being read properly.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Before&amp;nbsp;February Cumulative Update&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; 2026 &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;After&amp;nbsp;February Cumulative Update&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; 2026 &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Command Prompt Output&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Command Prompt Output&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;System Event&amp;nbsp;Log&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Error      01/06/2026 4:55:19 PM&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;GroupPolicy (Microsoft-Windows-GroupPolicy)&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;1096&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;None &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;ErrorCode&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;5&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;ErrorDescription&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;MARK&gt;Access is denied.&lt;/MARK&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;DCName&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; \\ContosoDC2.contoso.com  &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPOCNName&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;LocalGPO &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;FilePath&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;C:\Windows\System32\GroupPolicy\Machine\registry.pol&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;System Event Log&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Error      01/06/2026 4:55:19 PM&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;GroupPolicy (Microsoft-Windows-GroupPolicy)&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;1096&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;None &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;ErrorCode&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;5&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;ErrorDescription&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;MARK&gt;Error during registry file parsing: CreateFile failed with 5 &lt;/MARK&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;DCName&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; \\ContDC1.contoso.com  &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;GPOCNName&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;LocalGPO &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;FilePath&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;C:\Windows\System32\GroupPolicy\Machine\registry.pol&amp;gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC&amp;nbsp;Log&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;  -&lt;/STRONG&gt;&amp;nbsp;The GPSVC log does not experience any changes after the update and will continue to show details like below:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; GPSVC(840.1ea4) 2026-01-06 16:55:18:580&amp;nbsp;ParseRegistryFile: Entering with &amp;lt;C:\Windows\System32\GroupPolicy\Machine\registry.pol&amp;gt;.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(840.1ea4) 2026-01-06 16:55:18:582 Error during registry file parsing:&amp;nbsp;CreateFile&amp;nbsp;failed with 5&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(840.1ea4) 2026-01-06 16:55:18:582&amp;nbsp;ParseRegistryFile: Leaving.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(840.1ea4) 2026-01-06 16:55:18:582&amp;nbsp;ProcessGPORegistryPolicy:&amp;nbsp;ParseRegistryFile&amp;nbsp;failed.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(840.1ea4) 2026-01-06 16:55:18:584&amp;nbsp;ProcessGPORegistryPolicy: Resetting policies set in the current processing cycle.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;GPSVC(840.1ea4) 2026-01-06 16:55:18:584&amp;nbsp;ResetPolicies: Entering.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Prior to this update, administrators could identify registry-based policy update failures using Event ID 1096. However, the information provided was often limited and amounted to little more than a generic “something went wrong” message. With this improvement, the same 1096 event now delivers far more descriptive details in the event data, clearly indicating what caused Group Policy processing to fail. Administrators can now see messages such as &lt;STRONG&gt;“&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Error during registry file parsing: CreateFile failed with 5&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;,”&lt;/STRONG&gt; making it significantly easier to troubleshoot issues without guesswork. It is like upgrading from a cryptic fortune cookie to a full detective briefing. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Summary &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;When&amp;nbsp;the local registry.pol corruption,&amp;nbsp;or a common lookalike, (in the blog example,&amp;nbsp;problematic&amp;nbsp;permissions)&amp;nbsp;occurs, the existing event logging mechanism springs into action by recording event 1096 in the system event log, along with more informative text in the “Details” tab, which can be viewed simply using Event Viewer. While previous event logs already included important details such as the error code, the name of the affected Group Policy Object (GPO), and the domain controller (DC) your system was communicating with, the new update goes a step further by providing a much more descriptive error message. This enhanced information now clearly outlines the underlying cause of the issue, empowering administrators to troubleshoot with ease and accuracy.  &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This added clarity removes much of the guesswork that historically surrounded local registry.pol corruption and represents a meaningful step forward in Group Policy troubleshooting.&amp;nbsp;We&amp;nbsp;look forward to seeing administrators take advantage of this improvement to diagnose issues faster and with greater accuracy.  &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Until next time,  &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Ralu and Rhesa  &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Feb 2026 21:14:18 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/when-group-policy-goes-haywire-spotting-registry-pol-corruption/ba-p/4496127</guid>
      <dc:creator>Rhesa-S</dc:creator>
      <dc:date>2026-02-24T21:14:18Z</dc:date>
    </item>
    <item>
      <title>Cross Forest Enrollment – PKISync.PS1</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/cross-forest-enrollment-pkisync-ps1/ba-p/4463954</link>
      <description>&lt;P&gt;Here is the link: &lt;A href="https://techcommunity.microsoft.com/blog/askds/cross-forest---certificate-enrollment/4463246?previewMessage=true" target="_blank" rel="noopener"&gt;Cross Forest - Certificate Enrollment | Microsoft Community Hub&lt;/A&gt;&lt;/P&gt;
&lt;H1&gt;PKIsync.ps1 script&lt;/H1&gt;
&lt;P&gt;At this time, we’re going to keep things simple.&lt;/P&gt;
&lt;P&gt;The goal is to create an Active Directory resource Forest (Source Forest) that will host an Enterprise CA; it will be responsible for issuing all certificates.&lt;/P&gt;
&lt;P&gt;This approach should allow us to get everything up and running quickly, so those certificates can be requested and issued from a target Active Directory Forest.&lt;/P&gt;
&lt;P&gt;With that said, let’s take a closer look at how the PKIsync.ps1 script works and its flow.&lt;/P&gt;
&lt;H1&gt;Understanding the flow of PKIsync.PS1 script&lt;/H1&gt;
&lt;P&gt;The PowerShell script is designed to synchronize certificate templates and PKI configuration information between multiple forests ensure consistency across forests.&lt;/P&gt;
&lt;img /&gt;
&lt;H4&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Locate the DC on the target forest or server on the target forest and Run PKISync.PS1&lt;/H4&gt;
&lt;P&gt;Locate the Domain Controller or member server where the script is located to start copying the Active Directory objects from the Source Forest to the Target Forest. In this scenario, the source forest is &lt;STRONG&gt;“Contoso.com”&lt;/STRONG&gt; to target forest &lt;STRONG&gt;“Fabrikam.com”&lt;/STRONG&gt; We then run the &lt;STRONG&gt;“PKISync.PS1”&lt;/STRONG&gt; script on the &lt;STRONG&gt;“Fabrikam.com”&lt;/STRONG&gt;.&lt;/P&gt;
&lt;LI-SPOILER label="Note:"&gt;
&lt;P&gt;PKISYNC.PS1 Run over .NET classes, this means that we only need an account that belongs to the Enterprise Admins group and run it on any server on the target forest.&lt;/P&gt;
&lt;/LI-SPOILER&gt;
&lt;H4&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Copying AD Objects&lt;/H4&gt;
&lt;P&gt;The script will start copying (Or Sync) the following AD objects: &lt;STRONG&gt;“pKICertificateTemplate, pKIEnrollmentService, and msPKI-Enterprise-Oid”&lt;/STRONG&gt; to the &lt;STRONG&gt;target forest.&lt;/STRONG&gt;&lt;/P&gt;
&lt;H4&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Objects Copied/synced and Ready for the Computers/Users.&lt;/H4&gt;
&lt;P&gt;After some time is allowed for AD replication to converge, &lt;STRONG&gt;“Fabrikam.com”&lt;/STRONG&gt; will have these PKI AD objects Sync’d into its AD database on every domain controller thus allowing “&lt;STRONG&gt;Users or Computers&lt;/STRONG&gt;” in the target forest to enroll for certificates from the CA in the Source Forest. Then we will want to wait until computer certificate autoenrollment has ran.&amp;nbsp; This is going to be upwards of 8 hours before all systems in the forest will have the updated certification authority objects.&lt;/P&gt;
&lt;H4&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows Client Does a Request to the DC&lt;/H4&gt;
&lt;P&gt;Now, imagine a Windows Client in “&lt;STRONG&gt;Fabrikam.com&lt;/STRONG&gt;” that needs to enroll a certificate using “&lt;STRONG&gt;Certlm.msc&lt;/STRONG&gt;”. The client will perform an LDAP lookup on a Domain Controller in the Fabrikam.com domain to discover all the PKI-related AD objects that were previously Sync’d over to the target forest.&lt;/P&gt;
&lt;LI-SPOILER label="⚠️ Note:"&gt;
&lt;P&gt;It’s important to note that any changes made to the CA of the Source Forest “&lt;STRONG&gt;Contoso.com&lt;/STRONG&gt;” will only be reflected after running the script again or scheduling a task, which I'll cover at the end of this article.&lt;/P&gt;
&lt;/LI-SPOILER&gt;
&lt;H4&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows Client sends a Request to Source Forest CA&lt;/H4&gt;
&lt;P&gt;With the information gathered from the “Fabrikam.com” Domain Controller through an LDAP query, the Windows client uses TCP port 135 (RPC endpoint mapper) to connect to the CA and obtain the location of the CA’s iCertRequest DCOM interface. After the endpoint mapper provides the dynamic port for the iCertRequest DCOM interface, the client establishes a TCP connection to that interface on the CA in the source forest.&lt;/P&gt;
&lt;H4&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Template configuration&lt;/H4&gt;
&lt;P&gt;If a template is configured with “Build from Active Directory”, the CA will immediately look up the user’s or computer’s domain specified in the request. If the requester belongs to a different AD forest, Kerberos tickets must be obtained from each domain in the trust path, which is why a Forest Trust is required. A Forest Trust is the only trust type that fully supports Kerberos. Once the CA validates the information with the “Fabrikam.com” Domain Controller, it signs the certificate request and returns the signed certificate to the Windows client. The certificate is then placed in the user’s Certificate Store.&lt;/P&gt;
&lt;H1&gt;Configure the environment for cross forest enrollment&lt;/H1&gt;
&lt;H3&gt;Choose a &lt;STRONG&gt;Source Forest&lt;/STRONG&gt; and &lt;STRONG&gt;Target Forest.&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The &lt;STRONG&gt;Source Forest&lt;/STRONG&gt; will be the forest where the Certification Authority exists and where all the certificate templates are configured.&amp;nbsp; The &lt;STRONG&gt;Target Forest&lt;/STRONG&gt; will be where the users and computers that need to enroll for certificates exist.&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;Two-way forest trust between the &lt;STRONG&gt;Source Forest&lt;/STRONG&gt; and &lt;STRONG&gt;Target forests&amp;nbsp;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;It is required to have a Two-Way Forest Trust in place&lt;/U&gt;&lt;/STRONG&gt; (See&amp;nbsp;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc778851(v=ws.10)?redirectedfrom=MSDN" target="_blank" rel="noopener"&gt;Create a two-way, forest trust for both sides of the trust&lt;/A&gt; for additional guidance). To limit clients from either forest to only certain resources in the other&amp;nbsp;&lt;A class="lia-external-url" href="https://social.technet.microsoft.com/wiki/contents/articles/50969.active-directory-forest-trust-attention-points.aspx#Selective_Authentication" target="_blank" rel="noopener"&gt;Selective authentication&lt;/A&gt; can be enabled to limit the scope of the cross-forest authentication that is allowed.&amp;nbsp; Selective authentication is administratively intensive and requires careful consideration for configuration before implementation.&lt;/P&gt;
&lt;H3&gt;Configure your Certificate Authority&lt;/H3&gt;
&lt;P&gt;Before we can enroll for certificates from across the forest, a certificate authority needs to exist in the &lt;STRONG&gt;Source Forest&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;If you would like guidance on installing a two-tier PKI hierarchy, see this wiki content: &lt;A class="lia-external-url" href="https://social.technet.microsoft.com/wiki/contents/articles/15037.ad-cs-step-by-step-guide-two-tier-pki-hierarchy-deployment.aspx" target="_blank" rel="noopener"&gt;AD CS Step by Step Guide: Two Tier PKI Hierarchy Deployment &lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;Enable LDAP referral support on Enterprise CA from Source Forest&lt;/H3&gt;
&lt;P&gt;After setting up the Certificate Authority, we need to allow configure AD CS to &lt;STRONG&gt;“chase the LDAP referrals”&lt;/STRONG&gt;.&amp;nbsp; This allows the AD CS Service to traverse the forest trust to look up user or computer information to build the certificate. The steps to enable LDAP referral on an Enterprise issuing CA check below.&lt;/P&gt;
&lt;H4&gt;Steps to enable LDAP referral&lt;/H4&gt;
&lt;OL&gt;
&lt;LI&gt;Run the command as administrator: &lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;STRONG&gt;CertUtil -SetReg Policy\EditFlags +EDITF_ENABLELDAPREFERRALS&lt;BR /&gt;&lt;/STRONG&gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI&gt;
&lt;LI&gt;After modifying the LDAP referral setting, the Certificate Services service needs to be stopped and started: &lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;STRONG&gt;Net Stop CertSvc &amp;amp; Net Start CertSvc&lt;BR /&gt;&lt;/STRONG&gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI&gt;
&lt;LI&gt;To view the current value run the command below, If the value is not shown then it is not enabled.&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;STRONG&gt;CertUtil -GetReg Policy\EditFlags&lt;/STRONG&gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;Add the &lt;STRONG&gt;Enterprise CA computer account&lt;/STRONG&gt; to the &lt;STRONG&gt;Cert Publishers group&lt;/STRONG&gt; in each target domain&amp;nbsp;&lt;/H3&gt;
&lt;P&gt;Add the &lt;STRONG&gt;Enterprise CA&lt;/STRONG&gt; computer to the &lt;STRONG&gt;Cert Publishers group&lt;/STRONG&gt; in each target domain. This allows the CA to write certificates to each user’s account in those domains if the User certificate template is configured for this.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Launch: &lt;STRONG&gt;dsa.msc&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Click on the &lt;STRONG&gt;Users&lt;/STRONG&gt; container.&lt;/LI&gt;
&lt;LI&gt;Double click on the &lt;STRONG&gt;Cert Publishers&lt;/STRONG&gt; group.&lt;/LI&gt;
&lt;LI&gt;Click on &lt;STRONG&gt;Add…&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Click on &lt;STRONG&gt;Locations…&lt;/STRONG&gt; and select the &lt;STRONG&gt;Source Domain&lt;/STRONG&gt; and click on &lt;STRONG&gt;OK&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Click on &lt;STRONG&gt;Object Types…&lt;/STRONG&gt; and select the &lt;STRONG&gt;computer checkbox &lt;/STRONG&gt;and click on OK.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt; &lt;/STRONG&gt;On Enter the &lt;STRONG&gt;object names to select&lt;/STRONG&gt; (examples): enter the &lt;STRONG&gt;name of the Enterprise CA&lt;/STRONG&gt; from the &lt;STRONG&gt;Source Forest.&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Click on &lt;STRONG&gt;OK&lt;/STRONG&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;Make sure that AIA and CDP locations on the source Forest are available.&lt;/H3&gt;
&lt;P&gt;Now, ensure that the &lt;STRONG&gt;AIA&lt;/STRONG&gt; and &lt;STRONG&gt;CDP &lt;/STRONG&gt;locations are properly &lt;U&gt;configured and reachable&lt;/U&gt;. This means that workstations, member servers, domain controllers, and other devices that will enroll certificates must be able to access these AIA and CDP locations.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open the &lt;STRONG&gt;PKIview.msc&lt;/STRONG&gt; on the source forest.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;PKIview.msc&lt;/STRONG&gt; is an Enterprise PKI tool for checking PKI health. You can find more information about this tool at the following &lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-blog" href="https://techcommunity.microsoft.com/blog/coreinfrastructureandsecurityblog/quick-check-on-adcs-health-using-enterprise-pki-tool-pkiview/1128638" target="_blank" rel="noopener" data-lia-auto-title="ADCS Health Using Enterprise PKI Tool (PKIVIEW) " data-lia-auto-title-active="0"&gt;ADCS Health Using Enterprise PKI Tool (PKIVIEW) &lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Locate the &lt;STRONG&gt;CDP&lt;/STRONG&gt; and &lt;STRONG&gt;AIA&lt;/STRONG&gt; Locations make sure that the status of each is on “&lt;STRONG&gt;OK&lt;/STRONG&gt;”.&lt;/LI&gt;
&lt;LI&gt;Test from the &lt;STRONG&gt;target forest&lt;/STRONG&gt; that the locations mentioned are reachable if you are using LDAP locations or HTTP location make sure that this is working, if you are having issues on this section refer to &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/windows-server/networking/core-network-guide/cncg/server-certs/configure-the-cdp-and-aia-extensions-on-ca1" target="_blank" rel="noopener"&gt;Configure the CDP and AIA Extensions on CA1 | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;I tested access to the web service on my CA &lt;A href="http://www.contoso.com/certenroll/contoso-content-ca01.crl" target="_blank" rel="noopener"&gt;www.contoso.com/certenroll/contoso-content-ca01.crl&lt;/A&gt; from the target forest make sure is reachable.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;LI-SPOILER label="⚠️Note:"&gt;
&lt;P&gt;LDAP URIs for AIA and CDP locations are not going to work in the target forest, so please make sure that you have an HTTP-based URI as well.&lt;/P&gt;
&lt;/LI-SPOILER&gt;
&lt;H3&gt;Export and Publish the &lt;STRONG&gt;Root CA &lt;/STRONG&gt;and&lt;STRONG&gt; &lt;/STRONG&gt;the &lt;STRONG&gt;Enterprise CA certificate&lt;/STRONG&gt; from the Source Forest to the Target Forest.&lt;/H3&gt;
&lt;P&gt;The &lt;STRONG&gt;certificate chain&lt;/STRONG&gt; needs to be deployed to the &lt;STRONG&gt;target forest&lt;/STRONG&gt; computers. Therefore, we need to export these certificates and publish them to the AD database of the target forest. If we have a two-tier hierarchy, both CA certificates need to be exported Root CA and Enterprise CA. On this case I used cmdlets, but you just need to make sure to export CA certificate and publish it in the Target Forest.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Connect to my &lt;STRONG&gt;Offline Root CA &lt;/STRONG&gt;and export the certificate using the command below:
&lt;BLOCKQUOTE&gt;certutil -ca.cert &amp;lt;c:\root-ca-cert-filename.cer&amp;gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI&gt;
&lt;LI&gt;Connect to my &lt;STRONG&gt;Enterprise CA &lt;/STRONG&gt;and export the certificate using the same command:
&lt;BLOCKQUOTE&gt;certutil -ca.cert&amp;nbsp;&amp;lt;c:\Enterprise-ca-cert-filename.cer&amp;gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI&gt;
&lt;LI&gt;Copy the certificates “&lt;STRONG&gt;root-ca-cert-filename.cer”&lt;/STRONG&gt; and “&lt;STRONG&gt;Enterprise-ca-cert-filename.cer&lt;/STRONG&gt;” over RDP, SMB, Robocopy… to a domain controller in the target forest I save it on “C:\“ drive.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Login into a &lt;STRONG&gt;Target Forest&lt;/STRONG&gt; domain controller as an &lt;STRONG&gt;Enterprise Admin account&lt;/STRONG&gt;, then launch and elevated command prompt, and run the following commands to publish the PKI hierarchy chain to Active Directory.&lt;BR /&gt;&lt;BR /&gt;RootCA&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;STRONG&gt;certutil -dspublish -f &amp;lt; c:\root-ca-cert-filename.cer&amp;gt; &lt;/STRONG&gt;&lt;U&gt;&lt;STRONG&gt;RootCA&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/U&gt;&lt;EM&gt;Publishes the certificate into the Certification Authorities container in Active Directory, which is used to distribute trusted root CA certificates to domain-joined machines.&lt;/EM&gt;&lt;SPAN style="background-color: rgb(26, 27, 28); --darkreader-inline-bgcolor: var(--darkreader-background-1a1b1c, #2a2d2e);" data-darkreader-inline-bgcolor=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;
&lt;/LI&gt;
&lt;LI&gt;NTAuthCA
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;certutil -dspublish -f &amp;lt; c:\enterprise-ca-cert-filename.cer&amp;gt; &lt;U&gt;NTAuthCA&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Places the certificate in the NTAuthCertificates store in Active Directory. This store is used to confirm certificate-based authentication, such as smart card logon.&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;/LI&gt;
&lt;LI&gt;SubCA
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;certutil -dspublish -f &amp;lt; c:\enterprise-ca-cert-filename.cer&amp;gt; &lt;U&gt;SubCA&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Places the certificate in the Certification Authorities container under the Subordinate CA section.&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please keep in mind that the above commands have added the certificates to the &lt;STRONG&gt;“Active Directory Enterprise store”&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Over the next 8 hours if computer certificate autoenrollment is enabled in the forest, domain joined computers will pull down the Root CA certificate and add it to the Enterprise Trusted Root store, and the Issuing CA certificate will be added to the Enterprise NTAuth and Enterprise CA stores. When the computer autoenrollment runs it also checks to see if it needs to update certificates maintained in the “Enterprise” store.&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;⚠️ If you need to test this before the 8-hour window you can run the below CertUtil command to have the computer “Pulse” its autoenrollment code.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;certutil -pulse&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H1&gt;Understanding how clients enroll certificates&lt;/H1&gt;
&lt;P&gt;After setting up the environment, it's important to understand the PKISync method thoroughly, especially considering it is a legacy enrollment approach. In simple terms, PKISync involves copying a predefined set of configurations from the source forest to the target forest. This method relies on the following objects being copied as explained above:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;pKICertificateTemplate objects (Certificate Templates):&lt;/STRONG&gt; &lt;BR /&gt;These contain which certificate templates are available and their associated permissions. Anytime a change happens to a certificate template (including permissions) this object type will need to be ‘synced’ over to the target forest.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;pKIEnrollmentService objects (Enterprise CAs):&lt;/STRONG&gt; &lt;BR /&gt;These specify the Enterprise Certificate Authorities (CAs) that manage enrollment requests. These objects could reference an Enterprise Root or an Enterprise Issuing certification authority.&amp;nbsp; Anytime permissions on the CA change, a certificate template is added or removed from the CA to issue, Key Recovery Agent configuration is changed, or the CA’s certificate has been renewed this object type will need to be ‘synced’ over to the target forest.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;msPKI-Enterprise-Oid objects:&lt;/STRONG&gt; &lt;BR /&gt;These have intended purposes values for certificates. Anytime a new certificate template is created, a new Application Policy is created or a new Issuance Policy, this object type will also need to be ‘synced’ over to the target forest.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Once these objects are copied to the target forest, clients needing enrollment do an LDAP query to their local forest domain controllers configuration partition to look up these three AD object types. With this information, clients can directly communicate with the Certificate Authority in the source forest using RPC/DCOM protocols.&lt;/P&gt;
&lt;P&gt;This PKISYNC activity ensures that the necessary configurations are replicated to the target forest, enabling the cross-forest enrollment interaction between clients and the source forest's Certificate Authority.&lt;/P&gt;
&lt;H4&gt;Legacy enrollment flow on the same forest&lt;/H4&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;Cross forest enrollment – Client simplified flow when the ADObjects are already downloaded&lt;/H4&gt;
&lt;img /&gt;
&lt;H1&gt;PKISYNC.PS1 Script Overview&lt;/H1&gt;
&lt;P&gt;Microsoft has documented the script at the link below. You may simply copy and paste it.&amp;nbsp;&lt;BR /&gt;The plain text script can be found on: &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/ff961506(v=ws.10)" target="_blank" rel="noopener"&gt;AD CS: PKISync.ps1 Script for Cross-forest Certificate Enrollment | Microsoft Learn&lt;/A&gt;&lt;BR /&gt;Official Microsoft Documentation:&amp;nbsp;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/ff955845(v=ws.10)" target="_blank" rel="noopener"&gt;AD CS: Deploying Cross-forest Certificate Enrollment | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;H5&gt;Copy Command:&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;.\PKISync.ps1 -sourceforest &amp;lt;SourceForestDNS&amp;gt; -targetforest &amp;nbsp;&amp;nbsp;&amp;lt;TargetForestDNS&amp;gt; [-sourceDC &amp;lt;SourceDCDNS&amp;gt;] [-targetDC &amp;lt;TargetDCDNS&amp;gt;] [-type &amp;lt;CA|Template|OID&amp;gt; [-cn &amp;lt;ObjectCN&amp;gt;]] [-f] [-whatif]&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H5&gt;&amp;nbsp;Delete Command:&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;.\PKISync.ps1 -targetforest &amp;lt;TargetForestDNS&amp;gt; [-targetDC &amp;lt;TargetDCDNS&amp;gt;] [-type &amp;lt;CA|Template|OID&amp;gt; [-cn &amp;lt;ObjectCN&amp;gt;]] [-deleteOnly] [-whatif]&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H2&gt;Arguments Explained:&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;sourceforest&amp;nbsp; Specifies the DNS name of the forest from which objects will be processed&lt;/LI&gt;
&lt;LI&gt;targetforest&amp;nbsp; Specifies the DNS name of the forest to which objects will be processed.&lt;/LI&gt;
&lt;LI&gt;sourcedc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Specifies the DNS name of the Domain Controller (DC) in the source forest responsible for processing objects.&lt;/LI&gt;
&lt;LI&gt;targetdc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Specifies the DNS name of the Domain Controller (DC) in the target forest responsible for receiving processed objects.&lt;/LI&gt;
&lt;LI&gt;type&amp;nbsp; Specifies the type of object to process. Valid options are:&lt;/LI&gt;
&lt;LI&gt;CA: Process Certificate Authority objects.&lt;/LI&gt;
&lt;LI&gt;Template: Process Certificate Template objects.&lt;/LI&gt;
&lt;LI&gt;OID: Process OID (Object Identifier) objects.&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;- cn&amp;nbsp;&amp;nbsp;&amp;nbsp; Specifies the common name of the specific object to process. Do not include "cn=" in the name.&lt;/P&gt;
&lt;P&gt;This choice is only valid when -type is specified and is used to process a specific object within that type.&lt;/P&gt;
&lt;P&gt;- f&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Forces the overwrite of existing objects in the target forest during the copying process. This choice is ignored if objects are being removed&lt;/P&gt;
&lt;P&gt;- whatif Displays a preview of objects that will be processed without performing any actions.&lt;/P&gt;
&lt;P&gt;- deleteOnly&amp;nbsp;&amp;nbsp;&amp;nbsp; Delete objects in the target forest if they already exist, without copying new objects.&lt;/P&gt;
&lt;H1&gt;Examples of how to use PKISync.PS1&lt;/H1&gt;
&lt;H3&gt;Example 1: Copy all templates&lt;/H3&gt;
&lt;P&gt;Copy all templates from the source forest to the target forest, with the "-F" option forcing overwrite if templates already exist. It includes copying the Enrollment Services Container, Certificate Templates Container, and OID Container from the source forest to the target forest.&lt;/P&gt;
&lt;H5&gt;&amp;nbsp;Command:&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;.\PKISync.ps1 -sourceforest contoso.com -targetforest Fabrikam.com -f&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If we want to make sure that all these distinguished names were copied from the Source Forest to the Target Forest and we can use the &lt;STRONG&gt;ADSIedit.msc&lt;/STRONG&gt; console to see this by opening the configuration partition and going to &lt;STRONG&gt;CN=Public Key Services,CN=Services,CN=Configuration,DC=Fabrikam,DC=com.&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;Figure: Illustration of the Objects copied from the Source Forest to the Target Forest.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Example 2: Copy specific templates&lt;/H2&gt;
&lt;P&gt;If you are looking to update a particular "Certificate template" use the following command to copy the template from the source forest using its specific Common Name (CN). If a template with the Canonical Name "User" already exists in the target forest, it will not be copied. To overwrite an existing template, append the”-F” argument at the end of the command.&lt;/P&gt;
&lt;P&gt;Note: it is important to run in this command with argument to copy the OID if we are planning to copy a duplicate template.&lt;/P&gt;
&lt;H5&gt;&amp;nbsp;Command:&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;.\PKISync.ps1 -sourceforest contoso.com -targetforest Fabrikam.com –type template –cn user&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H2&gt;Example 3: Copy AD Object Containers&lt;/H2&gt;
&lt;P&gt;This example will copy the AD Containers from the source forest to the target forest with all the AD objects into the selected one. In this example copy of all Enterprise-OID objects from the existence will not be completed however if we need to add the "-F" argument.&lt;/P&gt;
&lt;H5&gt;&amp;nbsp;Command:&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;.\PKISync.ps1 -sourceforest contoso.com -targetforest Fabrikam.com –type oid&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H1&gt;Best practice&lt;/H1&gt;
&lt;P&gt;As discussed, the recommendation is to use the CEP/CES method due to its advantages: enhanced security and scalability. This method aligns with current best practices, even though PKISync was designed for Windows Server 2003/XP and is considered outdated. However, if you choose to go ahead with PKISync, here are some recommended guidelines to follow:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Automate the synchronization process by creating a Scheduled task that runs the PKISync script. But this also comes with a significant risk as by default writing these objects in the target Forest the account running the script &lt;STRONG&gt;MUST&lt;/STRONG&gt; be an &lt;STRONG&gt;Enterprise Admin level account&lt;/STRONG&gt;. This can be mitigated to some extent by giving a lower-level admin account permission to create and delete objects at the “CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRoot” container level and below.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The simplest method for keeping updated AD objects is to run the&lt;STRONG&gt; PKISync.ps1 script&lt;/STRONG&gt; in a scheduled task. To have the best results the task should be run often.&lt;/P&gt;
&lt;H1&gt;Schedule Task Automatization&lt;/H1&gt;
&lt;P&gt;To automate the script, create a scheduled task on the target domain controller. For example, configure it to run every hour&lt;/P&gt;
&lt;img /&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Program/Script: &lt;/STRONG&gt;Powershell.exe&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Arguments:&lt;/STRONG&gt; -file C:\Users\Administrator\Desktop\.\PKISync.ps1 -sourceforest contoso.com -targetforest Fabrikam.com -f&lt;/P&gt;
&lt;P&gt;Once configured, the task will run automatically.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;LI-SPOILER label="⚠️ Note:"&gt;
&lt;P&gt;Depending on the PowerShell execution policy settings in your forest, you may need to adjust the execution policy before the script will be allowed to run, since this is &lt;STRONG data-start="745" data-end="773"&gt;not a signed script file&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;For more details, see: &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/ff955844(v=ws.10)" target="_blank"&gt;AD CS: Managing Cross-forest Certificate Enrollment | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And the Schedule task should be done; I hope this information were helpful for you.&lt;/P&gt;
&lt;H3&gt;Conclusion&lt;/H3&gt;
&lt;P data-start="314" data-end="656"&gt;The &lt;STRONG data-start="356" data-end="371"&gt;PKISync.ps1&lt;/STRONG&gt; script might be old, but it still does what it’s supposed to syncing PKI objects across forests so clients in the target forest can grab certificates from the source forest. It’s not fancy, and it’s definitely considered legacy, but if you set it up right and automate it, it works.&lt;/P&gt;
&lt;P data-start="658" data-end="896"&gt;That being said, for new or long-term environments I’d recommend looking at &lt;STRONG data-start="734" data-end="745"&gt;CEP/CES&lt;/STRONG&gt; since it’s the modern and more secure way forward. Still, PKISync can save the day in certain cases where you just need something simple that works.&lt;/P&gt;
&lt;P data-start="898" data-end="1133"&gt;At the end of the day, the key is keeping your configs updated, making sure the right trusts are in place, and staying mindful of security. If you’ve made it this far thanks for reading, and good luck with your own PKI adventures! 🚀&lt;/P&gt;
&lt;P data-start="898" data-end="1133"&gt;👉 Stay tuned for the third part, where I’ll dive into &lt;STRONG data-start="1738" data-end="1749"&gt;CEP/CES.!&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Feb 2026 21:27:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/cross-forest-enrollment-pkisync-ps1/ba-p/4463954</guid>
      <dc:creator>Manuel_Alvarez_V</dc:creator>
      <dc:date>2026-02-19T21:27:00Z</dc:date>
    </item>
    <item>
      <title>What is going on with RC4 in Kerberos?</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/what-is-going-on-with-rc4-in-kerberos/ba-p/4489365</link>
      <description>&lt;P aria-level="1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Howdy everyone! The cat is out of the bag when it comes to Microsoft’s forward outlook on RC4 usage in Kerberos.&amp;nbsp;In the past few months, we have published the following.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;A href="https://www.microsoft.com/en-us/windows-server/blog/2025/12/03/beyond-rc4-for-windows-authentication" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Beyond RC4 for Windows authentication&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;A style="font-style: normal; font-weight: 400; background-color: rgb(255, 255, 255);" href="https://learn.microsoft.com/en-us/windows-server/security/kerberos/detect-remediate-rc4-kerberos" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Detect and remediate RC4 usage in Kerberos&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt; &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;A style="font-style: normal; font-weight: 400; background-color: rgb(255, 255, 255);" href="https://support.microsoft.com/en-us/topic/how-to-manage-kerberos-kdc-usage-of-rc4-for-service-account-ticket-issuance-changes-related-to-cve-2026-20833-1ebcda33-720a-4da8-93c1-b0496e1910dc" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;How to manage Kerberos KDC usage of RC4 for service account ticket issuance changes related to CVE-2026-20833&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;As you can see, the writing is on the wall for RC4.&amp;nbsp;However,&amp;nbsp;we also understand that many folks still have&amp;nbsp;dependencies&amp;nbsp;on RC4 for one reason or another.&amp;nbsp;My goal with this blog post is to help clarify things for those folks.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;I know that not everyone is interested in the nitty gritty of how everything works and just want quick answers, so I am going to start with those.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Frequently Asked Questions (FAQ)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If this FAQ does not answer your questions about RC4 dependencies in your environment, please feel free to reach out to &lt;/SPAN&gt;&lt;A href="mailto:stillneedrc4@microsoft.com" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;stillneedrc4@microsoft.com&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; with your question and information on how you are still leveraging RC4.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Is RC4 being removed from Windows?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;As of January 2026, there are currently no plans to remove RC4 from Windows. However, DES has been removed from Windows Server 2025 and Windows 11 24H2 and newer versions. For&amp;nbsp;additional&amp;nbsp;information please see&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/windowsservernewsandbestpractices/removal-of-des-in-kerberos-for-windows-server-and-client/4386903" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Removal of DES in Kerberos for Windows Server and Client | Microsoft Community Hub&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;I have a machine running a mission critical service that&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;only supports&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;RC4. What do I do?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you have defined the &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/kerberos-protocol-registry-kdc-configuration-keys#:~:text=Entry%3A%20DefaultDomainSupportedEncTypes" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;DefaultDomainSupportedEncTypes &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;registry key on all relevant Windows Key Distribution Centers (KDCs), then&amp;nbsp;you should not expect any breaking&amp;nbsp;changes. Alternatively, if you have defined&amp;nbsp;the &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/6cfc7b50-11ed-4b4d-846d-6f08f0812919" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;msds-SupportedEncryptionTypes &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;attribute for the service&amp;nbsp;account and&amp;nbsp;the bitmask&amp;nbsp;includes&amp;nbsp;RC4&amp;nbsp;then no action needs to be taken.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;I have a Windows Server 2003 deployment that we are working to&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;migrate away&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&amp;nbsp;from, but I need them to work in the meantime. What do I do?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;As I'm sure you already know &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2003-" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Windows Server 2003 left end of life in 2015&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; . The&amp;nbsp;highest priority should be migrating to a version of Windows that is currently receiving security updates. Thus, this machine is treated the same as any other machine that needs RC4 as Windows Server 2003 does not support&amp;nbsp;AES-SHA1.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;I am seeing RC4 usage in my environment through Event Id 4768 and Event Id 4769 in the Security Event Logs on my KDC. Will I be broken&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&amp;nbsp;by these changes&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The existence of &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4768" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Event Id 4768&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; and &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4769" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Event Id 4769&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; in the Security Event Log&amp;nbsp;is&amp;nbsp;not&amp;nbsp;necessarily&amp;nbsp;an indication&amp;nbsp;that things will break in isolation. While in&amp;nbsp;the&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://support.microsoft.com/en-us/topic/how-to-manage-kerberos-kdc-usage-of-rc4-for-service-account-ticket-issuance-changes-related-to-cve-2026-20833-1ebcda33-720a-4da8-93c1-b0496e1910dc#bkmk_timing_of_updates:~:text=January%C2%A013%2C%202026%C2%A0%2D%E2%80%AFInitial%20Deployment%20Phase%C2%A0" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;initial deployment phase&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;of the 2026 January Cumulative updates (often referred to as audit mode),&amp;nbsp;I recommend looking in the Windows System&amp;nbsp;Event&amp;nbsp;Log for the newly added&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://support.microsoft.com/en-us/topic/how-to-manage-kerberos-kdc-usage-of-rc4-for-service-account-ticket-issuance-changes-related-to-cve-2026-20833-1ebcda33-720a-4da8-93c1-b0496e1910dc#bkmk_timing_of_updates:~:text=Yes-,Audit%20events,-After%20the%20Windows" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Event Id 201, 202, 206, and 207&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;. We specifically created these new events to&amp;nbsp;identify&amp;nbsp;interactions that are at risk as&amp;nbsp;part&amp;nbsp;of the RC4 default disablement&amp;nbsp;plan.&amp;nbsp;If you see any of those new events generated in the Windows System Event Log, then you are at risk for breaking changes upon moving to enforcement mode.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;I have an old service account that doesn't have AES-SHA1 keys.&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;&amp;nbsp;Will I be broken?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Maybe.&amp;nbsp;At-risk service accounts will be referenced in Windows System Event Log with&amp;nbsp;Event Id 202,&amp;nbsp;or Event Id&amp;nbsp;207.&amp;nbsp;As for&amp;nbsp;remediation,&amp;nbsp;there are a few&amp;nbsp;options&amp;nbsp;available&amp;nbsp;to this specific problem.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The best recommendation would be to reset the account password on a modern Windows KDC. During a password change, new keys are generated automatically with&amp;nbsp;all&amp;nbsp;the available Kerberos Encryption Types.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If that is not&amp;nbsp;possible,&amp;nbsp;then either defining the DefaultDomainSupportedEncTypes or configuring the msds-SupportedEncryptionTypes on the target service account&amp;nbsp;to include RC4 would be your best bet.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="2"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;How does&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;DefaultDomainSupportedEncTypes&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;&amp;nbsp;work?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;When making a service ticket request,&amp;nbsp;the KDC will search&amp;nbsp;for&amp;nbsp;the target service accounts&amp;nbsp;msds-SupportedEncryptionTypes&amp;nbsp;Active Directory (AD) attribute on the target service account. If that attribute is either 0 or undefined, then the&amp;nbsp;assumed encryption type&amp;nbsp;value will be applied.&amp;nbsp;The assumed encryption type is what the KDC assumes that all accounts&amp;nbsp;running supported&amp;nbsp;Windows versions&amp;nbsp;in an AD domain support.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The&amp;nbsp;DefaultDomainSupportedEncTypes registry key&amp;nbsp;controls what the KDC will apply as the assumed encryption types. By default, the assumed encryption types are&amp;nbsp;0x27 (DES, RC4&amp;nbsp;and AES-SHA1 session keys).&amp;nbsp;On Windows Server&amp;nbsp;2025,&amp;nbsp;this default value is 0x24 (RC4, and AES-SHA1 session keys) because DES has been removed from Windows Server 2025.&amp;nbsp;If you would like to define the assumed encryption&amp;nbsp;types,&amp;nbsp;you&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;MUST&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;ensure that all accounts within the domain support the configured value.&amp;nbsp;While reviewing this configuration,&amp;nbsp;it's&amp;nbsp;worth investigating if DES is necessary in your environment. For&amp;nbsp;additional&amp;nbsp;information, please see:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/microsoft/Kerberos-Crypto/wiki/DES-Detection" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;DES Detection · microsoft/Kerberos-Crypto Wiki.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:6,&amp;quot;335551620&amp;quot;:6}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The configuration of the supported Kerberos encryption types through the&amp;nbsp;DefaultDomainSupportedEncTypes&amp;nbsp;registry keys is&amp;nbsp;almost identical to the&amp;nbsp;msds-SupportedEncryptionTypes&amp;nbsp;bitmask.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;For example:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;0x18 in msds-SupportedEncryptionTypes means AES128-CTS-HMAC-SHA1-96 and AES256-CTS-HMAC-SHA1-96&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;0x18 in DefaultDomainSupportedEncTypes means AES128-CTS-HMAC-SHA1-96 and AES256-CTS-HMAC-SHA1-96&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;CAVEAT&lt;/STRONG&gt;:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; The bitmask of 0x20 is &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;ONLY&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; honored when applied to DefaultDomainSupportedEncTypes.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;More&amp;nbsp;additional&amp;nbsp;details on the Supported Encryption Type bitmask please see&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/6cfc7b50-11ed-4b4d-846d-6f08f0812919" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;[MS-KILE]: Supported Encryption Types Bit Flags | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="2"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;What is happening with the January 2026&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Cumulative&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Updates?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With the January&amp;nbsp;2026&amp;nbsp;Cumulative Updates, we are beginning to change the default behavior&amp;nbsp;of the assumed encryption types on a KDC.&amp;nbsp;We will be removing RC4 as one of the assumed encryption types.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;We have added new auditing to help detect RC4 usage that&amp;nbsp;is&amp;nbsp;currently&amp;nbsp;permitted&amp;nbsp;through unconfigured assumed encryption types.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;On installing&amp;nbsp;the&amp;nbsp;April 2026 Windows&amp;nbsp;Cumulative&amp;nbsp;Updates on supported&amp;nbsp;DCs,&amp;nbsp;we&amp;nbsp;will be moving to an enforcement phase&amp;nbsp;where&amp;nbsp;usage of RC4&amp;nbsp;through the assumed encryption types&amp;nbsp;will now be blocked. Enforcement&amp;nbsp;mode can be rolled back to audit mode.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;On installing the&amp;nbsp;July&amp;nbsp;2026&amp;nbsp;Windows&amp;nbsp;Cumulative Updates, the behavior&amp;nbsp;will be&amp;nbsp;identical to April&amp;nbsp;2026,&amp;nbsp;however&amp;nbsp;you&amp;nbsp;will&amp;nbsp;no longer roll back to audit mode.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;For&amp;nbsp;additional&amp;nbsp;reading I recommend reading the&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://support.microsoft.com/en-us/topic/how-to-manage-kerberos-kdc-usage-of-rc4-for-service-account-ticket-issuance-changes-related-to-cve-2026-20833-1ebcda33-720a-4da8-93c1-b0496e1910dc" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;How to manage Kerberos KDC usage of RC4 for service account ticket issuance changes related to CVE-2026-20833 - Microsoft Support&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;in&amp;nbsp;its&amp;nbsp;entirety.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="2"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Closing things out&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Security hardening is never easy, and&amp;nbsp;we&amp;nbsp;empathize with the IT professionals who are working to harden their&amp;nbsp;environment. Migration and upgrades are not always&amp;nbsp;an easy&amp;nbsp;process,&amp;nbsp;and we at Microsoft want to help make this process as smooth as possible. As mentioned in other blog posts, we have a few Kerberos RC4 identification scripts that are available on GitHub at &lt;/SPAN&gt;&lt;A href="https://github.com/microsoft/Kerberos-Crypto" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Microsoft/Kerberos-Crypto&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;. And to help us understand&amp;nbsp;your RC4 dependencies please feel free to drop us a mail at &lt;/SPAN&gt;&lt;A href="mailto:stillneedrc4@microsoft.com" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;stillneedrc4@microsoft.com&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Jan 2026 19:34:08 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/what-is-going-on-with-rc4-in-kerberos/ba-p/4489365</guid>
      <dc:creator>WillAftring</dc:creator>
      <dc:date>2026-01-26T19:34:08Z</dc:date>
    </item>
    <item>
      <title>How to search for deleted memberships of a group in Active Directory</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/how-to-search-for-deleted-memberships-of-a-group-in-active/ba-p/4463627</link>
      <description>&lt;P&gt;Have you ever seen a user suddenly lose access to a resource, only to discover they were removed from a group—but with no record of when or how it happened? Tracking deleted group memberships in Active Directory (AD) can be challenging, especially when auditing is not enabled or the logs don’t capture which users were removed. If someone deletes multiple memberships from a Security Group, the Active Directory Recycle Bin won’t help, since it only retains deleted objects—not the details of which accounts were stripped from the group.&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;In&amp;nbsp;other&amp;nbsp;to obtain a list of the&amp;nbsp;user's&amp;nbsp;memberships that were&amp;nbsp;deleted, you will need to look for them on the Group's object metadata. There are 2 methods:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;With the&amp;nbsp;repadmin&amp;nbsp;object metadata:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;You can run the command&amp;nbsp;repadmin&amp;nbsp;/showobjtmeta&amp;nbsp;* &amp;lt;DN OF THE GROUP&amp;gt; for example:&amp;nbsp;repadmin&amp;nbsp;/showobjmeta&amp;nbsp;* "CN=Test&amp;nbsp;Group,OU=Users,OU=Test&amp;nbsp;OU,OU=Contoso,DC=Contoso,DC=com" &amp;gt; TestGroup.txt&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;This will give you all the object's metadata, and we can look at the "Member" attribute:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;The ones under "Present" are the users that are still part of the group. And the ones under "Absent" are the ones that have been removed.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Using the Get-ADReplicationAttributeMetadata&amp;nbsp;command in PowerShell:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;You can use the Get-ADReplicationAttributeMetadata&amp;nbsp;command in PowerShell with the following parameters to obtain all the "LastOriginating-DeleteTime" value, which will show you all the deleted users based on their deletion date and time.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;get-ADReplicationAttributeMetadata&amp;nbsp;'DN OF THE GROUP' -Server &amp;lt;SERVER WHERE THE LAST CHANGE WAS DETECTED&amp;gt; -ShowAllLinkedValues&amp;nbsp;| Select-Object&amp;nbsp;LastOriginatingDeleteTime,&amp;nbsp;attributevalue&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;When reviewing group membership, the presence of a valid date indicates that the user was deleted from the group. For example, the &lt;STRONG&gt;Test-Deletion&lt;/STRONG&gt; account shows an actual deletion date, confirming it was removed. In contrast, if the metadata displays an impossible value such as &lt;STRONG&gt;12/31/1600&lt;/STRONG&gt;, it means no deletion date exists. This is the case for the &lt;STRONG&gt;Test User&lt;/STRONG&gt; account, which shows the impossible date, signaling that the user is still part of the group and has not been removed.&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 01 Dec 2025 22:28:55 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/how-to-search-for-deleted-memberships-of-a-group-in-active/ba-p/4463627</guid>
      <dc:creator>dcascante</dc:creator>
      <dc:date>2025-12-01T22:28:55Z</dc:date>
    </item>
    <item>
      <title>Cross Forest - Certificate Enrollment</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/cross-forest-certificate-enrollment/ba-p/4463246</link>
      <description>&lt;P&gt;Welcome to part one of my blog series on Cross Forest Certificate Enrollment. Nowadays, businesses often run across multiple Forests for distinct reasons. You would like to ensure secure authentication using certificates spanning Active Directory Forests within your enterprise. Cross Forest Certificate Enrollment is one solution that can be leveraged to enable the centralized management of digital certificates while maintaining security.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;In this blog, we will dive into Cross Forest Certificate Enrollment. We will explore its functionality, configuration, and best practice for companies of all sizes. We will also assess which of the available solutions can best suit your company's needs.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You will find everything you need to correctly configure Cross Forest Enrollment, including:&lt;BR /&gt;• &amp;nbsp; &amp;nbsp;Types of methodologies and requirements.&lt;BR /&gt;• &amp;nbsp; &amp;nbsp;Pros &amp;amp; Cons of each solution type.&lt;BR /&gt;• &amp;nbsp; &amp;nbsp;Best practice and recommendations.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;An important reference that should also be reviewed with this blog is on the &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ff955845(v=ws.10)" target="_blank" rel="noopener"&gt;AD CS: Deploying Cross-forest Certificate Enrollment | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;H1&gt;Types of methods&lt;/H1&gt;
&lt;P&gt;Cross-forest certificate enrollment offers two methods: The preferred choice involves using the “&lt;STRONG&gt;CEP &amp;amp; CES roles”&lt;/STRONG&gt; in Windows Server's Active Directory Certificate Services, while the alternative method uses a “&lt;STRONG&gt;PowerShell script called PKISync (PKISync.ps1&lt;/STRONG&gt;).”&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NOTE:&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;PKISync.ps1: &lt;/STRONG&gt;It was created originally to support Windows XP/Vista and Windows Server 2003/2008 clients to be able to support Cross Forest certificate enrollment and is considered a legacy solution but is still valid for newer operating systems.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;CEP &amp;amp; CES:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;It was released with Windows 7/2008 R2 and is the preferred method to support Cross Forest certificate enrollment going forward.&lt;STRONG&gt;&amp;nbsp; &lt;/STRONG&gt;Please understand that CEP &amp;amp; CES is NOT Certificate Services Web Enrollment.&amp;nbsp; For more on this role see the following - &lt;A href="https://learn.microsoft.com/en-us/windows-server/identity/ad-cs/certificate-authority-web-enrollment" target="_blank" rel="noopener"&gt;Certification Authority Web Enrollment Role Service in Windows Server | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Certificate Enrollment Policy (CEP) and Certificate Enrollment Service (CES)&lt;/H2&gt;
&lt;H3&gt;Requirements&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;Have at least “&lt;STRONG&gt;Windows 7 / Windows Server 2008 R2&lt;/STRONG&gt;” or later as certificate enrollment clients.&lt;/LI&gt;
&lt;LI&gt;Have Windows server 2008 R2 (Currently supported &lt;STRONG&gt;Windows Server 2016&lt;/STRONG&gt;) or higher Certification Authority.&lt;/LI&gt;
&lt;LI&gt;Set up and create AD CS environment in at least one of the forests to issue certificates.&lt;/LI&gt;
&lt;LI&gt;CEP and CES web service roles can be installed on the Certification Authority or on another member server in the same forest as the certification authority.&lt;/LI&gt;
&lt;LI&gt;Do not place AIA or CDP locations on LDAP; they must be available via HTTP.&lt;/LI&gt;
&lt;LI&gt;DNS name resolution should be correctly configured for resolution between forests and CEP/CES servers.&lt;/LI&gt;
&lt;LI&gt;Kerberos authentication cross forest boundaries REQUIRES a two-way forest trust.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;High level overview of how CEP CES works:&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;The client begins by connecting with the Certificate Enrollment Policy (CEP) web service over HTTPS, which is configured to run on port 443 (it can be changed later), allowing certificate enrollment.&lt;/LI&gt;
&lt;LI&gt;The CEP servers URI can be configured through either local or group policy. The CEP web service then queries the domain controller via LDAP for certificate templates (pKICertificateTemplate objects), enterprise CA services (pKIEnrollmentServices objects), and other relevant objects (msPKI-Enterprise-Oid objects). The collected data informs the client of the templates it can enroll for and the enterprise CAs available.&lt;/LI&gt;
&lt;LI&gt;The client then connects to the Certificate Enrollment web service (CES) specified by the CA.&lt;/LI&gt;
&lt;LI&gt;The CES impersonates the client's security context, requests a certificate from the certification authority via DCOM.&lt;/LI&gt;
&lt;LI&gt;The issued certificate is returned to the client securely.&lt;/LI&gt;
&lt;/OL&gt;
&lt;H4&gt;Representations of this functionality.&lt;/H4&gt;
&lt;img /&gt;
&lt;P&gt;⚠&lt;STRONG&gt;️&lt;/STRONG&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; While the image suggests that the CEP/CES roles run on different servers, it is common to have both roles installed on the same server.&lt;/P&gt;
&lt;H3&gt;Pros and Cons of CEP CES&lt;/H3&gt;
&lt;H4&gt;Pros&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Efficiency and Synchronization of certificates:&lt;/STRONG&gt; All certificate template, and certification authority management tasks can be done from the Active Directory Forest where the CA – CEP/CES servers exist. When a change is made to a certificate template it does not require any more action to get the template configuration change synchronized to the other forest.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Web-Based technology:&lt;/STRONG&gt; CEP and CES are web-based services, making them accessible over HTTPS. This can simplify cross-forest enrollment by only needing to have https-based ports opened between the forests.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Certificate renewal enrollment &lt;/STRONG&gt;CEP/CES can be used for certificate key-based renewal, reducing the need for manual certificate requests. This is particularly useful for large organizations with many users and devices.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Scalability:&lt;/STRONG&gt; These services are scalable and can manage a high volume of enrollment requests, making them perfect for large companies with multiple forests.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Allow Non-Domain Joined Devices to enroll certificates:&lt;/STRONG&gt; The CEP/CES method allows non-domain joined machines to enroll certificates. See the following for more information - &lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/enabling-cep-and-ces-for-enrolling-non-domain-joined-computers/ba-p/397821" target="_blank" rel="noopener"&gt;Enabling CEP and CES for enrolling non-domain joined computers for certificates - Microsoft Community Hub&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Troubleshooting:&lt;/STRONG&gt; For more precise troubleshooting within CEPCES, we can collect granular information from multiple logging sources—such as Event Viewer logs for the EnrollmentPolicyWebService and the EnrollmentWebService, along with CEP logs, CES logs, IIS logs, and other available debug logs—to identify and resolve issues more effectively.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Security:&lt;/STRONG&gt; Since communication is over HTTPS this method is secure, and the user never communicates directly either to a DC or the CA.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;Cons&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Complexity:&lt;/STRONG&gt; The configuration and management of CEP and CES can be complex, especially for administrators who are not familiar with PKI implementations.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Authentication:&lt;/STRONG&gt; If there are Cross Forest enrollment implications, CEP &amp;amp; CES configured for Kerberos Authentication can only be used over a two-way forest trust.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;PKI Sync Script (PKIsync.PS1)&lt;/H2&gt;
&lt;H3&gt;Requirements&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;It has been around since Windows Server 2003. Windows Server 2016 and newer operating systems are currently supported.&lt;/LI&gt;
&lt;LI&gt;Two-way Forest trust is &lt;STRONG&gt;MANDATORY &lt;/STRONG&gt;between the source forest and target forest.&lt;/LI&gt;
&lt;LI&gt;ADCS environment configured with at least with one Enterprise CA on the source forest assigned.&lt;/LI&gt;
&lt;LI&gt;Uses PowerShell to synchronize the PKI objects between the source forest (Where CA exists) and the target forest (where the users/computers exist). Uses an Enterprise AD account to run the script, which interacts with Active Directory to synchronize certificates and templates. This requires permissions to access AD partitions on both the source forest and target forest. If we would like to automate the script, this would require task scheduler rules.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;How it works:&lt;/H3&gt;
&lt;P&gt;It is a Script that synchronizes the PKI AD objects below from the source forest to the target forests:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Certificate templates (&lt;EM&gt;pKICertificateTemplate).&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;PKI enrollment Services objects (Enterprise CA objects) that are available (&lt;EM&gt;pKIEnrollmentService).&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;Enterprise OID objects (&lt;EM&gt;msPKI-Enterprise-Oid&lt;/EM&gt;).&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The script copies the required Active Directory Certificate Services objects from one forest to another forest and will modify the number of objects underneath the Public Key Services container in the forest-wide configuration partition. This does require &lt;STRONG&gt;an elevated administrator account&lt;/STRONG&gt; that is a member of the Enterprise Admins group in the target forest as this group is by default is allowed to write in the configuration partition.&lt;/P&gt;
&lt;H4&gt;Representations of this functionality and enrollment.&lt;/H4&gt;
&lt;P&gt;Here shows how does it works, to understand how it works in detail visit my other blog of PKIsync.ps1.&lt;/P&gt;
&lt;img&gt;Representation of his flow&lt;/img&gt;
&lt;H2&gt;Pros and Cons of PKISync Script&lt;/H2&gt;
&lt;H3&gt;Pros&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Simplified Deployment:&lt;/STRONG&gt; It is a script that copies the necessary PKI AD objects from the source AD forest that has the CA to the target forest.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Does not require extra servers/services: &lt;/STRONG&gt;PKISync uses PowerShell scripting, which might save money and time at first compared to setting up CEP/CES, especially for smaller organizations with limited resources.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Flexible:&lt;/STRONG&gt; PKISync is a script that copies certificate-related information between forests. It does not require dedicated server roles.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Cons&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Lack of Authentication and impersonation:&lt;/STRONG&gt; Since it is a script, it does not impersonate the client’s security context during the certificate enrollment process. This can lead to improper authentication and a failure to properly update the PKI objects.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Logging&lt;/STRONG&gt;: The script may not integrate with the normal logging and auditing features. There may be issues with success and failure logging into event viewer unless AD Object Auditing is enabled specifically.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Management Issues:&lt;/STRONG&gt; We have seen cases where PKISync has been used and the PKI Administrators have changed the CA settings, such as adding or removing a certificate template that the CA should issue. Or they have made a new certificate template, altered the settings of an existing one, or updated the permissions on the certificate template. Then the PKI Admin may not run the PKISync.ps1 file for all forests to apply the new configuration to them. This will cause inconsistencies and enrollment failures leading to case creation with Microsoft.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Less Security:&lt;/STRONG&gt; PKISync may not provide the same security as the CEP/CES does, since PKISync requires permanent two-way trust, with a manual or scheduled synchronization in between using the password of an elevated administrator account that runs periodically. This may be viewed as a potential security concern.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Port Requirements:&lt;/STRONG&gt; The script requires several ports to be opened to support communication between forests.&amp;nbsp; The port requirements are client to domain controller and client to the AD CS Certificate Authority.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-teams="true"&gt;See this article for general ports required for clients to communicate with Domain Controllers: &amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/config-firewall-for-ad-domains-and-trusts" aria-label="Link Configure firewall for AD domain and trusts - Windows Server | Microsoft Learn" target="_blank"&gt;Configure firewall for AD domain and trusts - Windows Server | Microsoft Learn&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-teams="true"&gt;See this article for general ports required for clients to communicate with Certificate Services: &amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/service-overview-and-network-port-requirements#certificate-services" aria-label="Link https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/service-overview-and-netwo…" target="_blank"&gt;https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/service-overview-and-netwo…&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;Conclusion CEP/CES vs PKISync&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;In conclusion, cross-forest certificate enrollment is an important solution for modern businesses operating across multiple forests, ensuring centralized management and secure authentication. There are two main approaches:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;The CEP &amp;amp; CES solution&lt;/STRONG&gt; – the preferred method, offering greater efficiency, scalability, and security via HTTPS.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;The legacy PKISync.ps1 script&lt;/STRONG&gt; – while it may appear simpler to deploy, it presents significant security and management challenges and is generally not recommended in any scenario, including smaller environments (since they, too, must manage more than one forest).&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Although both methods exist, the reality is that CEP &amp;amp; CES remains the better choice for organizations of all sizes, delivering robust security, efficient enrollment, and centralized oversight.&lt;/P&gt;</description>
      <pubDate>Wed, 22 Oct 2025 15:17:20 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/cross-forest-certificate-enrollment/ba-p/4463246</guid>
      <dc:creator>Manuel_Alvarez_V</dc:creator>
      <dc:date>2025-10-22T15:17:20Z</dc:date>
    </item>
    <item>
      <title>Understanding and Troubleshooting - Strong Certificate Name Mapping in Active Directory</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/understanding-and-troubleshooting-strong-certificate-name/ba-p/4451386</link>
      <description>&lt;P&gt;Hello team, Manuel here. In recent years, Microsoft has introduced &lt;STRONG&gt;Strong Certificate Name Mapping (Strong Mapping)&lt;/STRONG&gt; as a requirement for certificate-based authentication in Active Directory environments. These changes were driven by security improvements to address vulnerabilities such as &lt;STRONG&gt;CVE-2022-26931&lt;/STRONG&gt;, &lt;STRONG&gt;CVE-2022-26923&lt;/STRONG&gt;, and &lt;STRONG&gt;CVE-2022-34691&lt;/STRONG&gt;, as well as broader efforts to harden Kerberos and PKI authentication.&lt;/P&gt;
&lt;P&gt;Starting with the September cumulative updates which will be released on &lt;STRONG&gt;September 9, 2025&lt;/STRONG&gt;, &lt;STRONG&gt;compatibility mode will no longer be supported&lt;/STRONG&gt;. Any domain controllers (DCs) running in compatibility mode via the StrongCertificateBindingEnforcement registry setting must transition to enforcement mode. Organizations must &lt;STRONG&gt;act now&lt;/STRONG&gt; to prepare, validate, and re-issue certificates as needed if they haven’t already.&lt;/P&gt;
&lt;P&gt;This article provides a &lt;STRONG&gt;deep technical overview&lt;/STRONG&gt;, common errors, troubleshooting scenarios, and guidance for enterprise and government deployments.&lt;/P&gt;
&lt;H2&gt;TL;DR (at a glance)&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;If you don’t have Event ID 39,40, or 41 from the Kerberos Key Distribution Center in your System log, you’re probably ready for September, otherwise you’re likely to be in for a bumpy ride.&lt;/LI&gt;
&lt;LI&gt;If you use &lt;STRONG&gt;Enterprise CA + templates&lt;/STRONG&gt; → &lt;STRONG&gt;Using templates that are built from AD with the Automatic SID OID extension added&lt;/STRONG&gt; is simplest.&lt;/LI&gt;
&lt;LI&gt;If you use &lt;STRONG&gt;Su&lt;/STRONG&gt;&lt;STRONG&gt;pply in the Request / offline certs commonly found in SCEP implementations&lt;/STRONG&gt; → &lt;STRONG&gt;SAN URI Mapping or Manual Mapping&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;If you’re in a &lt;STRONG&gt;government/federated smart-card&lt;/STRONG&gt; scenario with strict PKI controls → &lt;STRONG&gt;Strong name mapping via Group Policy&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows Server 2016 KDC&lt;/STRONG&gt; does &lt;STRONG&gt;not&lt;/STRONG&gt; support SAN URI strong mapping or Strong name mapping via Group Policy. Windows Server 2019 or higher operating system is required for these options.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Previous Guidance&lt;/H2&gt;
&lt;P&gt;There have been a few articles/posts released for these changes.&amp;nbsp; The first that covers the hardening changes themselves and their timeline is found at &lt;A href="https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16" target="_blank"&gt;KB5014754: Certificate-based authentication changes on Windows domain controllers - Microsoft Support&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;SAN URI capabilities for SCEP based solutions were introduced in &lt;A href="https://techcommunity.microsoft.com/blog/askds/preview-of-san-uri-for-certificate-strong-mapping-for-kb5014754/3789785" target="_blank"&gt;Preview of SAN URI for Certificate Strong Mapping for KB5014754 | Microsoft Community Hub&lt;/A&gt;.&amp;nbsp; This was designed to ease the administrative burden in MDM environments.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Strong Name Mapping via Group Policy, also known as Tuples, is documented at &lt;A href="https://techcommunity.microsoft.com/blog/publicsectorblog/enable-strong-name-based-mapping-in-government-scenarios/4240402" target="_blank"&gt;Enable strong name-based mapping in government scenarios | Microsoft Community Hub&lt;/A&gt;.&amp;nbsp; This was introduced to provide a way for group policy&lt;/P&gt;
&lt;H2&gt;Registry Behavior Changes&lt;/H2&gt;
&lt;P&gt;I know that we were talking about these changes frequently but here’s a short summary of the timeline this year.&lt;/P&gt;
&lt;P&gt;After installing the &lt;STRONG&gt;February 2025 Cumulative updates&lt;/STRONG&gt;, domain controllers behave as follows:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Registry Path:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc\StrongCertificateBindingEnforcement&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Registry setting&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Old Behavior&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;New Behavior&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Not configured (default)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Compatibility mode&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Enforcement mode&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;StrongCertificateBindingEnforcement = 2&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Enforcement mode&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Enforcement mode&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;StrongCertificateBindingEnforcement = 1&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Compatibility mode&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Compatibility mode&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;⚠️Important: &lt;STRONG&gt;Restart of the DC or KDC service is NOT required&lt;/STRONG&gt; when applying this registry value.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Once the September 9, 2025 cumulative update is installed, the registry value will no longer be honored.&lt;/U&gt;&lt;/STRONG&gt; Enforcement mode will be the only supported mode.&amp;nbsp; If you are still getting Event IDs 39, 40, and 41 from the Kerberos Key Distribution Center in your System log, you’re likely to have some issues once you patch your DCs, and you need to immediately investigate strong mapping solutions.&lt;/P&gt;
&lt;H2&gt;The Options for Strong Mapping&lt;/H2&gt;
&lt;H3&gt;Automatic SID OID Extension&lt;/H3&gt;
&lt;P&gt;This option has been available since &lt;STRONG&gt;May 2022&lt;/STRONG&gt;. It uses OID &lt;STRONG&gt;1.3.6.1.4.1.311.25.2&lt;/STRONG&gt; to embed the requester’s SID directly in the certificate. If you’re leveraging an Enterprise CA with online templates (Build from This Active Directory Information), you’re already configuring certificates with this OID.&lt;BR /&gt;Build from This Active Directory Information option&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Certificates Issued with Build from This Active Directory Information option, and how automatically populate the SID of the requester to the certificate.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Requirements:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Microsoft &lt;STRONG&gt;Enterprise CA&lt;/STRONG&gt; (AD domain member).&lt;/LI&gt;
&lt;LI&gt;Certificates issued from templates that automatically populate AD attributes.&lt;/LI&gt;
&lt;LI&gt;KB5014754 or later installed on both CA (for certificate issuance) and DC (for reading the new OID).&lt;/LI&gt;
&lt;LI&gt;Certificates that were issued prior to this patch being installed on the CA would have to be reissued to get it.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Limitation:&lt;/STRONG&gt; Not available for manually crafted requests where attributes are supplied in the CSR.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Explicit Manual Mapping&lt;/H3&gt;
&lt;P&gt;At this stage, you might be wondering how things work when using Supply in the Request templates. Beginning with the May 2022 update, Microsoft introduced categorizations of strengths for the options for explicit/manual mapping of a certificate to its corresponding Active Directory identity (this applies to both computer and user objects). Notably, we recommended explicit mappings be implemented by associating a certificate with an AD object by using the Issuer Name of the CA together with the Serial Number of the certificate that you want to assign.&amp;nbsp; That is our recommended Strong Mapping method.&lt;/P&gt;
&lt;P&gt;The &lt;A href="https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16#:~:text=match%20Certificate%20SID-,Certificate%20mappings,-Domain%20administrators%20can" target="_blank"&gt;official documentation&lt;/A&gt; details all supported methods of explicit/manual mapping. Starting in February 2024, the Active Directory Users and Computers (ADUC) console defaults to using X509IssuerSerialNumber for manual mapping.&lt;/P&gt;
&lt;H4&gt;Active Directory User and Computer method (X509IssuerSerialNumber):&lt;/H4&gt;
&lt;P&gt;When a certificate must be strongly bound to a specific identity, you can use the ADUC console. Simply right-click the object, select &lt;STRONG&gt;“Name mappings…”&lt;/STRONG&gt;, and ADUC will automatically convert the certificate properties into a strong mapping. The resulting data is written to the altSecurityIdentities attribute, ensuring the identity is strongly mapped.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Open ADUC and locate the identity&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open &lt;STRONG&gt;Active Directory Users and Computers (ADUC)&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Navigate to the &lt;STRONG&gt;user&lt;/STRONG&gt; or &lt;STRONG&gt;computer&lt;/STRONG&gt; object that will own the certificate.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Right-click the object &lt;/STRONG&gt;&lt;STRONG&gt;▸ Name Mappings&lt;/STRONG&gt;&lt;STRONG&gt;…&lt;/STRONG&gt; (matches your “Name Mappings…”).&lt;img /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Add the certificate and choose strong mapping&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In &lt;STRONG&gt;Name Mappings&lt;/STRONG&gt;, go to the &lt;STRONG&gt;X.509 Certificates&lt;/STRONG&gt; tab → click &lt;STRONG&gt;Add…&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Browse to the exported &lt;STRONG&gt;.cer&lt;/STRONG&gt; file and select it.&lt;/LI&gt;
&lt;LI&gt;In &lt;STRONG&gt;Add Certificate&lt;/STRONG&gt;, confirm the parsed values for &lt;STRONG&gt;Subject&lt;/STRONG&gt;, &lt;STRONG&gt;Issuer&lt;/STRONG&gt;, and &lt;STRONG&gt;Serial&lt;/STRONG&gt;&lt;img /&gt;&lt;/LI&gt;
&lt;LI&gt;Ensure both boxes are checked:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Use Issuer for alternate security identity&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Use Serial Number for alternate security identity&lt;BR /&gt;&lt;/STRONG&gt;&lt;img /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;Click &lt;STRONG&gt;OK&lt;/STRONG&gt;, then &lt;STRONG&gt;Close&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Verify the strong mapping was written&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open the object’s &lt;STRONG&gt;Properties&lt;/STRONG&gt; → &lt;STRONG&gt;Attribute Editor&lt;/STRONG&gt; tab.&lt;/LI&gt;
&lt;LI&gt;Confirm &lt;STRONG&gt;altSecurityIdentities&lt;/STRONG&gt; now contains an entry with the issuer and serial (your first screenshot).&lt;/LI&gt;
&lt;LI&gt;Example of what you’ll see (format varies by issuer DN length):
&lt;PRE&gt;X509:&amp;lt;I&amp;gt;DC=com,DC=contoso,CN=EntCA&amp;lt;SR&amp;gt;150000000000001af17557b8634e501500000053&lt;/PRE&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;Manually generating mapping values for explicit mapping&lt;/H4&gt;
&lt;P&gt;In most cases, the best option is to re-issue certificates with the new SID OID extension (1.3.6.1.4.1.311.25.2). However, if re-issuing is not possible, you can still achieve compliance by creating a manual strong mapping in Active Directory.&lt;/P&gt;
&lt;P&gt;This works by adding a mapping string into the user’s or computer’s altSecurityIdentities attribute. The mapping tells Active Directory exactly which certificate belongs to which identity.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How it works&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Take the &lt;STRONG&gt;Issuer&lt;/STRONG&gt; and &lt;STRONG&gt;Serial Number&lt;/STRONG&gt; fields from the certificate you want to map.&lt;BR /&gt;Example from a cert:&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; Issuer: CN=CONTOSO-DC-CA, DC=contoso, DC=com&lt;/P&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; SerialNumber: 2B0000000011AC0000000012&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Convert both values into the &lt;STRONG&gt;reverse format&lt;/STRONG&gt; required by AD:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;The Issuer DN must be reversed (so CN=… , DC=contoso, DC=com becomes DC=com,DC=contoso,CN=…).&lt;/LI&gt;
&lt;LI&gt;The Serial Number must also be reversed &lt;STRONG&gt;by byte order&lt;/STRONG&gt; (e.g., A1B2C3 → C3B2A1).&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;Build the final mapping string:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;X509:&amp;lt;I&amp;gt;DC=com,DC=contoso,CN=CONTOSO-DC-CA&amp;lt;SR&amp;gt;1200000000AC11000000002B&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;Add that mapping string to the account’s &lt;STRONG&gt;altSecurityIdentities&lt;/STRONG&gt; attribute.&lt;BR /&gt;Example PowerShell:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;PRE&gt;Set-ADUser 'DomainUser' -Replace @{altSecurityIdentities= "X509:&amp;lt;I&amp;gt;DC=com,DC=contoso,CN=CONTOSO-DC-CA&amp;lt;SR&amp;gt;1200000000AC11000000002B"}&lt;/PRE&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/OL&gt;
&lt;H4&gt;PowerShell Functions that you could use for automation:&lt;/H4&gt;
&lt;P&gt;&lt;STRONG&gt;Flip the Issuer (FQDN)&lt;/STRONG&gt;&lt;/P&gt;
&lt;PRE&gt;function Flip-FQDN {&lt;BR /&gt; &amp;nbsp;&amp;nbsp; param([String] $FQDN)&lt;BR /&gt; &amp;nbsp;&amp;nbsp; $arr = $FQDN.Split(',').Trim()&lt;BR /&gt; &amp;nbsp;&amp;nbsp; [array]::Reverse($arr)&lt;BR /&gt; &amp;nbsp;&amp;nbsp; return $arr -join ','&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;$originalFQDN = "CN=EntCA,DC=contoso,DC=com"&lt;BR /&gt;$flippedFQDN = Flip-FQDN -FQDN $originalFQDN&lt;BR /&gt;Write-Output "Flipped FQDN: $flippedFQDN"&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Flip the Serial Number (byte order)&lt;/STRONG&gt;&lt;/P&gt;
&lt;PRE&gt;function Flip-ByteOrder {&lt;BR /&gt; &amp;nbsp;&amp;nbsp; param([String] $byteString)&lt;BR /&gt; &amp;nbsp;&amp;nbsp; if ($byteString.Length % 2 -ne 0) { throw "Error: byte string is expected to have even length" }&lt;BR /&gt; &amp;nbsp;&amp;nbsp; $length = $byteString.Length&lt;BR /&gt; &amp;nbsp;&amp;nbsp; $newstr = ''&lt;BR /&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp; for ($i = $length - 1; $i -gt 0; $i -= 2) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $newstr += $byteString[$i - 1] + $byteString[$i]&lt;BR /&gt; &amp;nbsp;&amp;nbsp; }&lt;BR /&gt; &amp;nbsp;&amp;nbsp; return $newstr&lt;BR /&gt;}&lt;BR /&gt;$serialNumber = "5300000015504e638b5775f11a000000000015"&lt;BR /&gt;$flippedSerialNumber = Flip-ByteOrder -byteString $serialNumber&lt;BR /&gt;Write-Output "Flipped Serial Number: $flippedSerialNumber"&lt;/PRE&gt;
&lt;H3&gt;SAN URI Mapping&lt;/H3&gt;
&lt;P&gt;There is also the possibility of mapping a SID manually inside the certificate and associating it with a specific identity. This approach is highly useful in scenarios where offline certificates are required and deployed in large numbers, or where you want a more persistent binding. For more details, refer to Matthew’s blog post.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/blog/askds/preview-of-san-uri-for-certificate-strong-mapping-for-kb5014754/3789785" target="_blank"&gt;Preview of SAN URI for Certificate Strong Mapping for KB5014754 | Microsoft Community Hub&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This capability was added to &lt;STRONG&gt;Intune&lt;/STRONG&gt; in &lt;STRONG&gt;November 2024&lt;/STRONG&gt;. Uses SAN tag format:tag:microsoft.com,2022-09-14:sid:&amp;lt;OnPremisesObjectSIDValue&amp;gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Support:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Windows Server 2019 and Newer versions (after March 12, 2024 patches).&lt;/LI&gt;
&lt;LI&gt;Not supported on Windows Server 2016, if the KDC is this Windows server needs to migrate his DCs to 2019 to make it work.&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;Requires Intune configuration and testing.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;For more information you can refer to the link: &lt;A href="https://techcommunity.microsoft.com/blog/intunecustomersuccess/support-tip-implementing-strong-mapping-in-microsoft-intune-certificates/4053376" target="_blank"&gt;Support tip: Implementing strong mapping in Microsoft Intune certificates | Microsoft Community Hub&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Other third party MDMs have also incorporated this capability in their products as well and have their own Configuration documentation to support it.&amp;nbsp; Organizations should leverage these third parties’ support services for configuration guidance.&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Strong name mapping via Group Policy (Tuples)&lt;/H3&gt;
&lt;P&gt;This method is designed primarily for &lt;STRONG&gt;government and smart card federated authentication environments&lt;/STRONG&gt;, where traditional strong mappings (SID OID, Issuer + Serial) may not be practical due to large numbers of externally issued certificates (Not built from AD).&amp;nbsp; This option has been available since January of 2025.&lt;/P&gt;
&lt;P&gt;It lets you treat certain “weak” mappings (such as &lt;STRONG&gt;Issuer/Subject AltSecID&lt;/STRONG&gt; or &lt;STRONG&gt;UPN mappings&lt;/STRONG&gt;) as if they were &lt;STRONG&gt;strong mappings&lt;/STRONG&gt;, provided your PKI meets specific security guarantees. When both conditions match (correct CA + correct Issuance Policy OID), the DC upgrades those weak mappings to strong mappings.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How to configure Strong Name-Based Mapping (Tuples)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Enable and configure:&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Confirm that there are issuance policy OID(s) added to certs&lt;BR /&gt;&lt;img /&gt;&lt;/LI&gt;
&lt;LI&gt;GPO on DCs →&lt;BR /&gt;Computer Configuration &amp;gt; Administrative Templates &amp;gt; System &amp;gt; KDC &amp;gt; Allow name-based strong mappings for certificates → &lt;STRONG&gt;Enable&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Add &lt;STRONG&gt;policy tuples&lt;/STRONG&gt; (one per CA/thumbprint as needed):&lt;/LI&gt;
&lt;/OL&gt;
&lt;OL start="4"&gt;
&lt;LI&gt;
&lt;PRE&gt;&amp;nbsp;&amp;lt;IssuerCAThumbprint&amp;gt;;&amp;lt;IssuancePolicyOID(s)&amp;gt;;&amp;lt;IssuerSubject/UPNSuffix=corp.contoso.com&amp;gt;&lt;/PRE&gt;
&lt;STRONG&gt;Examples:&lt;BR /&gt;&lt;/STRONG&gt;
&lt;PRE&gt;FFE06....20E67;2.16.840.1.101.3.2.1.3.45;IssuerSubject&lt;BR /&gt;EC526....D6556;2.16.840.1.101.3.2.1.3.45;UPNSuffix=corp.contoso.com&lt;BR /&gt;7972D....B7736;2.16.840.1.101.3.2.1.3.45,2.16.840...3.44;UPNSuffix=corp.contoso.com,UPNSuffix=my.corp.contoso.com,IssuerSubject&lt;/PRE&gt;
&lt;STRONG&gt;Note: You cannot repeat thumbprints. CA thumbprints with multiple UPN Suffixes or OIDs are listed once with OIDs and Suffixes/IssuerSubject separated by commas&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;If IssuerSubject was configured, then you still must populate the altsecurityidentities in this format:
&lt;PRE&gt;X509:&amp;lt;I&amp;gt;IssuerName&amp;lt;S&amp;gt;SubjectName&lt;/PRE&gt;
Example:&lt;BR /&gt;Issuing CA:
&lt;PRE&gt;CN=Contoso Issuing CA 1,DC=contoso,DC=com&lt;/PRE&gt;
Subject:
&lt;PRE&gt;CN=Bob,OU=Employess,OU=PKI&lt;/PRE&gt;
Altsecid attribute value on Bob’s account for this mapping method:
&lt;PRE&gt;X509:&amp;lt;I&amp;gt;DC=com,DC=contoso,CN=Contoso Issuing CA 1&amp;lt;S&amp;gt;OU=PKI,OU=Employees,CN=Bob&lt;/PRE&gt;
&lt;BR /&gt;(Due to this administrative overhead, we do not recommend IssuerSubject unless you need it, and the only reason to need it is if you have confirmed that software in you environment requires UseSubjectAltName set to 0 on your DCs)&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Validate your configuration by ensuring that you do not have Event ID 313 in the Microsoft-Windows-Kerberos-Key-Distribution-Center/Operational log.&lt;/P&gt;
&lt;P&gt;⚠️ Use only when PKI and issuance processes truly meet the required guarantees&lt;/P&gt;
&lt;P&gt;Another important note to add is that if you are using the GPO setting “Process even if the Group Policy objects have not changed” under “&lt;STRONG&gt;Computer Configuration&lt;/STRONG&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;STRONG&gt;Administrative Templates&lt;/STRONG&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;STRONG&gt;System&lt;/STRONG&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;STRONG&gt;Group Policy&lt;/STRONG&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;STRONG&gt;Configure registry policy processing&lt;/STRONG&gt;” you may have intermittent authentication failures for all users relying on tuples across the environment. &amp;nbsp;We recommend that you disable that policy or simply do not apply it.&lt;/P&gt;
&lt;H2&gt;Common pitfalls (and fixes)&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Compatibility mode “not working”&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Move to&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;enforcement&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt; now and complete strong mapping. Compatibility mode is going away.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;UseSubjectAltName = 0&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Prevents UPNs in SAN from being used&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Should only be used where &lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;required&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Requires either explicit manual mappings or IssuerSubject Tuple configuration&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;SAN-URI and Tuples are not supported on Server 2016. &lt;/STRONG&gt;Windows Server 2019 or higher operating system is required for these options.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;STRONG&gt;Explicit Manual Mapping Gotchyas&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Use sparingly&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Reverse Issuer DN order and Serial byte order correctly.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Map to the correct object type (user cert → user; device cert → computer).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Avoid multiple conflicting mappings in altSecurityIdentities.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Certificate Renewals&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;If using &lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Issuer+Serial Explicit Manual mapping&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;, a &lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;new serial&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt; means &lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;update the mapping&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;If using Build from this Active Directory, we won’t need to renew it because AD is building the Strong Name Mapping from the SID requestor.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;STRONG&gt;Strong name-based mapping tuples&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;CA thumbprints must be unique across all entries per tuple; OIDs must be present on the cert.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;UPNSuffix= must exactly match the SAN UPN suffix and requires SAN UPN (don’t set UseSubjectAltName=0).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;Invalid tuple → Event 313 (KDC Operational log).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;Do not use “Process even if the Group Policy objects have not changed” under the Group Policy object “&lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Computer Configuration&lt;/STRONG&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Administrative Templates&lt;/STRONG&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;System&lt;/STRONG&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Group Policy&lt;/STRONG&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Configure registry policy processing&lt;/STRONG&gt;&lt;SPAN style="font-weight: 400; color: rgb(30, 30, 30);"&gt;”&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;User migrations&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;SidHistory is not checked&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Requires extra planning with options such as:&lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI&gt;Users would need new certificates issued with the new SID signed into the certificate&lt;/LI&gt;
&lt;LI&gt;Issuance policy could be added to the PKI to support tuples&lt;/LI&gt;
&lt;LI&gt;Explicit manual mapping&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;STRONG&gt;Consuming the System event logs for events and automatically mapping certificates to accounts is not recommended as it is a security bypass.&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Events:&lt;/H2&gt;
&lt;H3&gt;Event ID 39 — No strong mapping&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Where&lt;/STRONG&gt;: System (Warning in Compatibility mode, Error in Enforcement mode)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Meaning&lt;/STRONG&gt;: The KDC saw a valid certificate but could &lt;STRONG&gt;not map it strongly&lt;/STRONG&gt; (no explicit mapping, key trust, SID OID, or other strong method).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Fields typically included&lt;/STRONG&gt;: User, Certificate Subject, Issuer (FQDN), Serial Number, Thumbprint.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Action&lt;/STRONG&gt;: Implement a &lt;STRONG&gt;strong mapping&lt;/STRONG&gt; (e.g., Option 1 SID OID, Option 2 Issuer+Serial, Option 3/4 SAN URI on WS2019+, or Option 5 tuples), then retest.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Older OS note&lt;/STRONG&gt;: On &lt;STRONG&gt;Windows Server 2008 R2 SP1 / 2008 SP2&lt;/STRONG&gt;, the analogous event is &lt;STRONG&gt;ID 41&lt;/STRONG&gt; (see below).&lt;/P&gt;
&lt;H3&gt;Event ID 40 — Certificate predates account (Compatibility mode only)&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Where&lt;/STRONG&gt;: System (Error)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Meaning&lt;/STRONG&gt;: The certificate was issued &lt;STRONG&gt;before&lt;/STRONG&gt; the AD account existed &lt;STRONG&gt;and&lt;/STRONG&gt; no strong mapping could be found, so it was rejected.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Fields typically included&lt;/STRONG&gt;: User, Certificate Subject, Issuer (FQDN), Serial Number, Thumbprint, &lt;STRONG&gt;Certificate Issuance Time&lt;/STRONG&gt;, &lt;STRONG&gt;Account Creation Time&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Action&lt;/STRONG&gt;: Reissue with a &lt;STRONG&gt;strong mapping&lt;/STRONG&gt; (or adjust &lt;EM&gt;Certificate Backdating&lt;/EM&gt; policy if appropriate). Use one of the strong methods, then retest.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Older OS note&lt;/STRONG&gt;: On &lt;STRONG&gt;Windows Server 2008 R2 SP1 / 2008 SP2&lt;/STRONG&gt;, the analogous event is &lt;STRONG&gt;ID 48&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H3&gt;Event ID 41 — User SID does not match Certificate SID&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Where&lt;/STRONG&gt;: System (Error)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Meaning&lt;/STRONG&gt;: The SID embedded in the certificate’s extension does &lt;STRONG&gt;not&lt;/STRONG&gt; match the AD account’s SID → authentication fails.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Fields typically included&lt;/STRONG&gt;: User, &lt;STRONG&gt;User SID&lt;/STRONG&gt;, Certificate Subject, Issuer (FQDN), Serial Number, Thumbprint, &lt;STRONG&gt;Certificate SID&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Action&lt;/STRONG&gt;: Replace the certificate with one that carries the &lt;STRONG&gt;correct SID&lt;/STRONG&gt; (Option 1), or use another &lt;STRONG&gt;strong mapping&lt;/STRONG&gt; (Option 2/3/4/5) that matches the intended identity.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Older OS note&lt;/STRONG&gt;: On &lt;STRONG&gt;Windows Server 2008 R2 SP1 / 2008 SP2&lt;/STRONG&gt;, the analogous event is &lt;STRONG&gt;ID 49&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H3&gt;Event ID 313 — Invalid Certificate Strong Name Match Policy&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Where&lt;/STRONG&gt;: Kerberos-Key-Distribution-Center\Operational (Error)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Meaning&lt;/STRONG&gt;: Something went wrong when trying to read the Strong name mapping via Group Policy (Tuple)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Fields typically included&lt;/STRONG&gt;: Faulting line: X&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Action&lt;/STRONG&gt;: Ensure that CA thumbprint is unique, the right amount of characters, no special characters, disable the setting “Process even if the Group Policy objects have not changed” from “&lt;STRONG&gt;Computer Configuration&lt;/STRONG&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;STRONG&gt;Administrative Templates&lt;/STRONG&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;STRONG&gt;System&lt;/STRONG&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;STRONG&gt;Group Policy&lt;/STRONG&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;STRONG&gt;Configure registry policy processing&lt;/STRONG&gt;”&lt;/P&gt;</description>
      <pubDate>Fri, 05 Sep 2025 23:20:12 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/understanding-and-troubleshooting-strong-certificate-name/ba-p/4451386</guid>
      <dc:creator>Chris_Cartwright</dc:creator>
      <dc:date>2025-09-05T23:20:12Z</dc:date>
    </item>
    <item>
      <title>What's the deal with Kerb3961?</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/what-s-the-deal-with-kerb3961/ba-p/4420109</link>
      <description>&lt;P&gt;Howdy, everyone! I wanted to write this blog post to discuss the new Kerb3961 library introduced in Windows Server 2025 / Windows 11 24H2. It is (hopefully) making encryption type (etype) usage within Kerberos much easier to anticipate and understand.&lt;/P&gt;
&lt;P&gt;Let's start with...&lt;/P&gt;
&lt;H2&gt;What is Kerb3961?&lt;/H2&gt;
&lt;P&gt;Kerb3961, named after &lt;A href="https://www.rfc-editor.org/rfc/rfc3961" target="_blank" rel="noopener"&gt;RFC3961&lt;/A&gt;, is a refactor of the Kerberos cryptography engine in its own library. This library is now the authoritative source of:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Etype selection&lt;/LI&gt;
&lt;LI&gt;Etype usage&lt;/LI&gt;
&lt;LI&gt;Etype management&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For the average IT administrator, the part that is going to be most interesting is #1.&lt;/P&gt;
&lt;P&gt;The Kerb3961 policy engine is what will&amp;nbsp;&lt;STRONG&gt;authoritatively&lt;/STRONG&gt;&amp;nbsp;determine what etypes are available given different Kerberos key usage scenarios. Whereas in previous Windows releases, there were instances of hard coded etype usage due to technical limitations at the time of implementation.&lt;/P&gt;
&lt;P&gt;Kerb3961 still leverages existing Kerberos etype configuration group policy: &lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/network-security-configure-encryption-types-allowed-for-kerberos" target="_blank" rel="noopener"&gt;Network security Configure encryption types allowed for Kerberos - Windows 10 | Microsoft Learn&lt;/A&gt;. However, it no longer honors the legacy registry key path of:&lt;/P&gt;
&lt;PRE&gt;HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Lsa\Kerberos\Parameters&lt;BR /&gt;REG_DWORD SupportedEncryptionTypes&lt;/PRE&gt;
&lt;P&gt;As a reminder, the group policy mentioned above is used to configure the supported encryption types for a machine account. The machine then propagates this information into Active Directory (AD) where it is stored in the &lt;A href="https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/6cfc7b50-11ed-4b4d-846d-6f08f0812919" target="_blank" rel="noopener"&gt;msds-SupportedEncryptionType attribute&lt;/A&gt; for the account.&lt;/P&gt;
&lt;P&gt;It has no effect on non-etype related Kerberos settings such as those outlined in &lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/kerberos-protocol-registry-kdc-configuration-keys" target="_blank" rel="noopener"&gt;Registry entries about Kerberos protocol and Key Distribution Center (KDC)&lt;/A&gt; with the exception of the DefaultDomainSupportedEncTypes registry key.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The biggest change is the reduction of hard-coded etype usage.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;We have heard the frustrations of customers who are trying to eliminate RC4 usage, and the seemingly unexplainable instances of RC4 usage with their environments. This new library removes these hard-coded dependencies and aggregates all those decisions into one place.&lt;/P&gt;
&lt;P&gt;With the goal of:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;More secure Kerberos operations by default&lt;/LI&gt;
&lt;LI&gt;More predictable Kerberos etype usage&lt;/LI&gt;
&lt;LI&gt;More stable etype additions&lt;/LI&gt;
&lt;LI&gt;More stable etype removals&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;For example, if we had not done this refactor, the &lt;A href="https://www.bing.com/search?pglt=161&amp;amp;q=DES+deprecation+site%3Amicrosoft.com&amp;amp;cvid=aac73052a68544ac92b91fc7b71029bf&amp;amp;gs_lcrp=EgRlZGdlKgYIABBFGDkyBggAEEUYOTIICAEQ6QcY_FXSAQgzMzM0ajBqMagCALACAA&amp;amp;FORM=ANNAB1&amp;amp;PC=U531" target="_blank" rel="noopener"&gt;DES deprecation&lt;/A&gt; and on-going work towards RC4 deprecation would not be possible.&lt;/P&gt;
&lt;H2&gt;Why did this need to happen?&lt;/H2&gt;
&lt;P&gt;Kerberos was added to Windows in the early 2000's as a part of beginning the move away from NTLM and into modern cipher usage. Over these decades, there have been incredible strides in security hardening that the original developers could not have foreseen. &amp;nbsp;As a result, some of the design decisions made during that initial implementation impacted our ability to reliably change the way Kerberos operates.&lt;/P&gt;
&lt;P&gt;This can be seen in things like:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://support.microsoft.com/en-gb/topic/kb5021131-how-to-manage-the-kerberos-protocol-changes-related-to-cve-2022-37966-fd837ac3-cdec-4e76-a6ec-86e67501407d" target="_blank" rel="noopener"&gt;Kerberos changes for CVE-2022-37966&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://support.microsoft.com/en-us/topic/kb5020805-how-to-manage-kerberos-protocol-changes-related-to-cve-2022-37967-997e9acc-67c5-48e1-8d0d-190269bf4efb" target="_blank" rel="noopener"&gt;Kerberos changes for CVE-2022-37967&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Additionally, with the long tail of code in this area and the etype that has been historically used, it had become a near impossibility to add or remove a cipher due to how the etypes were directly associated in Kerberos.&lt;/P&gt;
&lt;H2&gt;What does this mean going forward?&lt;/H2&gt;
&lt;P&gt;The Kerb3961 library has key implications going forward. The biggest one is the removal of hard-coded cipher usage and a stronger adherence to the administrators’ configured encryption types.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The environment will operate as configured.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Meaning IT administrators can have a high degree of confidence that their configurations will be honored.&lt;/P&gt;
&lt;P&gt;This increases the amount of knowledge required by administrators. Misconfigurations, previously hidden by loose adherence to the configured etypes, will now be exposed. For more information about Kerberos etype selection, refer to the &lt;A href="https://microsoft.github.io/Kerberos-Crypto/pages/etype-calc.html" target="_blank" rel="noopener"&gt;Kerberos EType Calculator&lt;/A&gt;.&lt;/P&gt;
&lt;H2&gt;What needs to be done?&lt;/H2&gt;
&lt;P&gt;To configure an environment requires understanding what etypes are used within an environment. To help aid in this endeavor, we have improved Key Distribution Center (KDC) auditing.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4768" target="_blank" rel="noopener"&gt;4768(S, F) A Kerberos authentication ticket (TGT) was requested. - Windows 10 | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4769" target="_blank" rel="noopener"&gt;4769(S, F) A Kerberos service ticket was requested. - Windows 10 | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;We have also published two PowerShell helper scripts that leverage these new events. The goal of these scripts is to allow for easier identification of both etype usage and account key availability.&lt;/P&gt;
&lt;P&gt;These scripts are published on the &lt;A href="https://github.com/microsoft/Kerberos-Crypto" target="_blank" rel="noopener"&gt;Microsoft Kerberos-Crypto GitHub repository&lt;/A&gt;, where, going forward, we will be using scripts and information published there to better interface with the community.&lt;/P&gt;
&lt;P&gt;We acknowledge that substantial changes can introduce regressions and friction points for those with mature environments. It is our goal to allow for a smooth adoption of these new features and prevent any unnecessary pain for our already overworked and under-appreciated system administrators.&lt;/P&gt;
&lt;P&gt;Please be sure to leverage&amp;nbsp;&lt;A href="https://support.microsoft.com/en-us/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332" target="_blank" rel="noopener"&gt;Feedback Hub&lt;/A&gt;&amp;nbsp;to share your experiences with us. If you would like to see any of these features early, we highly recommend leveraging the&amp;nbsp;&lt;A href="https://www.microsoft.com/en-us/windowsinsider/?msockid=1bb224fd69606d3b0b05312a68f96c96" target="_blank" rel="noopener"&gt;Windows Insider Program&lt;/A&gt;&amp;nbsp;and opting into &lt;A href="https://support.microsoft.com/en-us/windows/delivering-continuous-innovation-in-windows-11-b0aa0a27-ea9a-4365-9224-cb155e517f12" target="_blank" rel="noopener"&gt;Continuous Innovation&lt;/A&gt; and sharing feedback directly with the development team.&lt;/P&gt;
&lt;P&gt;We understand that this can be challenging, and Microsoft is committed to ensuring that the knowledge needed to make an informed decision about what is right for your environment.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Jun 2025 14:34:20 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/what-s-the-deal-with-kerb3961/ba-p/4420109</guid>
      <dc:creator>WillAftring</dc:creator>
      <dc:date>2025-06-03T14:34:20Z</dc:date>
    </item>
    <item>
      <title>Domain Join and Basic troubleshooting</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/domain-join-and-basic-troubleshooting/ba-p/4405860</link>
      <description>&lt;P&gt;In our tech-savvy age, networks are all the rage 🌐;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Joining a domain, though, can sometimes feel like a cage 🖥️. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;It makes managing PCs a breeze, with security and ease 🔒,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But troubleshooting woes can bring you to your knees 😩.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm Siyao Li, aka Janet, here to lend a hand 🙋‍♀️ &amp;nbsp;, &amp;nbsp;&lt;/P&gt;
&lt;P&gt;With tips and tricks to make your network grand 💡 &amp;nbsp;. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;For IT pros and admins, it'll be worth your while 🧑‍💻, &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dive into the basics, and you'll soon smile! 😄🔐&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="mce-toc"&gt;
&lt;H2&gt;Table of Contents&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="#community--1-mcetoc_1ip5ncuqj_2" target="_self"&gt;Section 1: Prerequisites to Perform a Domain Join&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="#community--1-mcetoc_1ip5ncuqj_3" target="_self"&gt;Section 2: Understand The Workflow of Domain Join Process&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="#community--1-mcetoc_1ip5ncuqj_4" target="_self"&gt;Section 3: Frequent Causes of Domain Join Failures&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;H2 id="mcetoc_1ip5ncuqj_2" class="lia-align-justify"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Section 1: Prerequisites to Perform a Domain Join&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;(Note: These prerequisites primarily apply when performing a domain join over a network. For information on performing an offline domain join, please refer to this document: &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd392267(v=ws.10)?redirectedfrom=MSDN" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Offline Domain Join (Djoin.exe) Step-by-Step Guide | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&lt;SPAN data-contrast="auto"&gt;1-1.&amp;nbsp; Network Connectivity&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;The device should be capable of communicating with a Domain Controller over the network. If the device is remote, a VPN connection to the corporate network is necessary.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;The device must use the corporate DNS server, typically provided by the Domain Controller.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;To test if you can discover a domain controller, run the following command:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1440}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="context"&gt;nltest /dsgetdc:contoso.com /force&lt;/LI-CODE&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;(replace “contoso.com” with the domain name the client wishes to join)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1440}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Working example &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1440}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="csp"&gt;C:\Users\Administrator-W11&amp;gt;nltest /dsgetdc:contoso.com /force
DC: \Cont-DC.contoso.com  
Address: \192.168.2.100 
Dom Guid: 53fbff01-6803-43c1-ba6c-b5c288951db7 
Dom Name: contoso.com 
Forest Name: contoso.com 
Dc Site Name: Default-First-Site-Name 
Our Site Name: Default-First-Site-Name 
Flags: PDC GC DS LDAP KDC TIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE FULL_SECRET WS DS_8 DS_9 DS_10 KEYLIST 
The command completed successfully&lt;/LI-CODE&gt;&lt;img /&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Explanation of Key Details:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1440}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-indent-margin-left-30px" border="0" style="width: 89.2647%; height: 122.294px; border-width: 0px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr class="lia-indent-padding-left-30px" style="height: 122.294px;"&gt;&lt;td class="lia-indent-padding-left-30px" style="height: 122.294px; border-width: 0px;"&gt;
&lt;PRE class="lia-align-justify"&gt;&lt;STRONG class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;DC:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; The domain controller that was found (&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Cont-DC.contoso.com&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;).&lt;/SPAN&gt; &lt;BR /&gt;&lt;STRONG class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;Address:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; The IP of the DC.&lt;/SPAN&gt; &lt;BR /&gt;&lt;STRONG class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;Dom Guid:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; Unique identifier for the domain.&lt;/SPAN&gt; &lt;BR /&gt;&lt;STRONG class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;Flags:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt; &lt;/STRONG&gt;Lists the DC’s capabilities (e.g., &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;PDC&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; = Primary Domain Controller, &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;GC&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; = Global Catalog, &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;DS&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; = Directory Services, etc.).&lt;/SPAN&gt; &lt;BR /&gt;&lt;STRONG class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;Our Site Name:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; Shows which Active Directory site the client is in.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1440}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Non-working example &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1440}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-indent-margin-left-30px" border="0" style="width: 88.0882%; height: 44px; border-width: 0px;"&gt;&lt;colgroup&gt;&lt;col style="width: 100%" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr class="lia-indent-padding-left-30px"&gt;&lt;td class="lia-indent-padding-left-30px" style="border-width: 0px;"&gt;
&lt;PRE class=""&gt;&lt;SPAN data-contrast="auto"&gt;C:\Users\Administrator-W11&amp;gt;nltest /dsgetdc:contoso.com /force &lt;/SPAN&gt; &lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Getting DC name failed: Status = &lt;SPAN class="lia-text-color-8"&gt;1355 0x54b ERROR_NO_SUCH_DOMAIN&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="lia-text-color-8"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;img /&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Ensure that firewall rules allow traffic to domain controllers. Additionally, Windows Defender or third-party antivirus software should not obstruct domain join requests. It is essential to confirm that the following ports are open:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/config-firewall-for-ad-domains-and-trusts?web=1" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Configure firewall for AD domain and trusts - Windows Server | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN lia-align-justify"&gt;&lt;table class="lia-border-style-hidden" border="0" style="width: 96.3235%; height: 370.165px; border-width: 0px;"&gt;&lt;tbody&gt;&lt;tr style="height: 58.6623px;"&gt;&lt;td style="height: 58.6623px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 58.6623px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&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;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 58.6623px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Port&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 58.6623px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Protocol&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 58.6623px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Application Protocol&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 58.6623px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;System Service or Process&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 30.6908px;"&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;53&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;DNS&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;DNS Server&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 30.6908px;"&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;53&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;UDP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;DNS&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;DNS Server&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 30.6908px;"&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;389&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;UDP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;DC Locator&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;LSASS&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 30.6908px;"&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;389&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;LDAP Server&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;LSASS&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 30.6908px;"&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;88&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Kerberos&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Kerberos Key Distribution Server&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 30.6908px;"&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;135&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;RPC&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;RPC Endpoint Mapper&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 30.6908px;"&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 30.6908px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;445&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;SMB&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 30.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;LanmanServer&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 96.6667px;"&gt;&lt;td style="height: 96.6667px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td style="height: 96.6667px; border-width: 0px;"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/td&gt;&lt;td class="lia-align-center" style="height: 96.6667px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;1024-65535&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 96.6667px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 96.6667px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;RPC&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 96.6667px; border-width: 0px;"&gt;
&lt;PRE class="lia-align-left"&gt;&lt;SPAN data-contrast="auto"&gt;RPC Endpoint Mapper for DSCrackNames,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;PRE class="lia-align-left"&gt;&lt;SPAN data-contrast="auto"&gt;SAMR and Netlogon calls between Client and Domain Controller&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H4&gt;&lt;SPAN data-contrast="auto"&gt;1-2. Computer Name Requirements&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL class="lia-align-justify"&gt;
&lt;LI data-leveltext="" data-font="Symbol" data-listid="24" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;Adhere to Active Directory naming conventions for computers as outlined &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/naming-conventions-for-computer-domain-site-ou#computer-names" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;here&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="none"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL class="lia-align-justify"&gt;
&lt;LI data-leveltext="" data-font="Symbol" data-listid="24" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Assign a unique hostname to the device to prevent conflicts, otherwise, if there is an object with the same name already exist in active directory, domain join will fail or encounter problem (see section 3-2 for more details).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL class="lia-align-justify"&gt;
&lt;LI data-leveltext="" data-font="Symbol" data-listid="24" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Please be aware of the domain join hardening when reusing an existing computer account in the target domain &lt;/SPAN&gt;&lt;A href="https://support.microsoft.com/en-us/topic/kb5020276-netjoin-domain-join-hardening-changes-2b65a0f3-1f4c-42ef-ac0f-1caaf421baf8" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;KB5020276—&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Netjoin&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;: Domain join hardening changes - Microsoft Support&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;&lt;SPAN data-contrast="auto"&gt;1-3. User credentials&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;By default, Active domain allows authenticated users to join 10 machine accounts to the domain. This default was implemented to prevent misuse. But an administrator can make a change to an object in Active Directory to override it. &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/default-workstation-numbers-join-domain" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Default workstation number a user can join to the domain - Windows Server | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;The following users aren't restricted by this limitation:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL class="lia-align-justify lia-indent-padding-left-60px"&gt;
&lt;LI class="lia-indent-padding-left-60px" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Users in the Administrators or Domain Administrators groups.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL class="lia-align-justify lia-indent-padding-left-60px"&gt;
&lt;LI class="lia-indent-padding-left-60px" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Users who have delegated permissions on containers in Active Directory to create and delete computer accounts.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Please note: Windows Home editions cannot join a domain.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 id="mcetoc_1ip5ncuqj_3" class="lia-align-justify"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Section 2: Understand The Workflow of Domain Join Process&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;H4 class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;2-1.&amp;nbsp; Domain Controller Discovery (Finding a DC)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Before a computer can join a domain, it must locate an available Domain Controller (DC). This is done using DNS because Active Directory (AD) relies heavily on DNS to locate resources.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;The client queries its configured DNS server for a Service (SRV) record in the format:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;_ldap._tcp.dc._msdcs.&amp;lt;domain-name&amp;gt;&lt;/SPAN&gt; &lt;/PRE&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Network trace example&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;LI-CODE lang="powerquery"&gt;153	2025-01-06 16:47:52.116646	9.320329	192.168.2.106	192.168.2.100         92	DNS		_ldap._tcp.dc._msdcs.contoso.com	Standard query 0x4fbe SRV _ldap._tcp.dc._msdcs.contoso.com
154	2025-01-06 16:47:52.117503	0.000857	192.168.2.100	192.168.2.106        202	DNS		_ldap._tcp.dc._msdcs.contoso.com	Standard query response 0x4fbe SRV _ldap._tcp.dc._msdcs.contoso.com SRV 0 100 389 cont-dc.contoso.com SRV 0 100 389 Cont-DC.contoso.com A 192.168.2.100 A 192.168.2.100
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;This record points to all Domain Controllers within the domain. The DNS server returns a list of available DCs.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Network trace example&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="csp"&gt;Queries
        _ldap._tcp.dc._msdcs.contoso.com: type SRV, class IN
            Name: _ldap._tcp.dc._msdcs.contoso.com
            [Name Length: 32]
            [Label Count: 6]
            Type: SRV (33) (Server Selection)
            Class: IN (0x0001)
    Answers
        _ldap._tcp.dc._msdcs.contoso.com: type SRV, class IN, priority 0, weight 100, port 389, target cont-dc.contoso.com
            Service: _ldap
            Protocol: _tcp
            Name: dc._msdcs.contoso.com
            Type: SRV (33) (Server Selection)
            Class: IN (0x0001)
            Time to live: 600 (10 minutes)
            Data length: 27
            Priority: 0
            Weight: 100
            Port: 389
            Target: cont-dc.contoso.com
        _ldap._tcp.dc._msdcs.contoso.com: type SRV, class IN, priority 0, weight 100, port 389, target Cont-DC.contoso.com
            Service: _ldap
            Protocol: _tcp
            Name: dc._msdcs.contoso.com
            Type: SRV (33) (Server Selection)
            Class: IN (0x0001)
            Time to live: 600 (10 minutes)
            Data length: 27
            Priority: 0
            Weight: 100
            Port: 389
            Target: Cont-DC2.contoso.com
    Additional records
        cont-dc.contoso.com: type A, class IN, addr 192.168.2.100
            Name: cont-dc.contoso.com
            Type: A (1) (Host Address)
            Class: IN (0x0001)
            Time to live: 3600 (1 hour)
            Data length: 4
            Address: 192.168.2.100
        Cont-DC.contoso.com: type A, class IN, addr 192.168.2.101
            Name: Cont-DC2.contoso.com
            Type: A (1) (Host Address)
            Class: IN (0x0001)
            Time to live: 3600 (1 hour)
            Data length: 4
            Address: 192.168.2.101&lt;/LI-CODE&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;The client selects a DC, The client attempts a lightweight connection (UDP 389 - &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/895a7744-aff3-4f64-bcfa-f8c05915d2e9" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;LDAP Ping&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;) to the selected DC to verify availability and in the DC’s response to obtain its capabilities and to discover the client site.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Network trace&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powerquery"&gt;370	2025-01-06 16:48:14.757398	0.000570	192.168.2.106	192.168.2.100    196	CLDAP	 searchRequest(22) "&amp;lt;ROOT&amp;gt;" baseObject        
371	2025-01-06 16:48:14.757916	0.000518	192.168.2.100	192.168.2.106     214	CLDAP	 searchResEntry(22) "&amp;lt;ROOT&amp;gt;" searchResDone(22) success  [1 result]&lt;/LI-CODE&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-ccp-props="{}"&gt;If the selected DC does not respond, the client tries another DC from the DNS response. &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;2-2.&amp;nbsp; &amp;nbsp;LDAP Binding &amp;amp; Machine Name Verification&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:0,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;The client initiates an LDAP Bind (using Kerberos authentication) to the DC. Then client performs an LDAP Search under the CN=Computers or another designated OU (Organizational Unit) to check if its computer name already exists in Active Directory. If a computer account with the same name already exists, the account will either be reused successfully or the domain join operation will fail (see section 3-2 for details). Once the operation is completed successfully, the process will continue.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="Normal (Web)"&gt;2-3. Computer Account Creation in AD (LDAP Add/&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="Normal (Web)"&gt;Modify&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="Normal (Web)"&gt; Operation)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;&lt;SPAN data-ccp-parastyle="Normal (Web)"&gt;Once the machine name is verified, the DC must create or update the&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="Normal (Web)"&gt; existing&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="Normal (Web)"&gt; computer account in Active Directory.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;The client initiates an LDAP Add or Modify request to create a computer account in the designated OU, defaulting to CN=Computers, &amp;lt;domain&amp;gt; unless otherwise specified by policy or administrative configuration. A unique Security Identifier (SID) is assigned to the new object, and the client generates a machine password, which is stored both locally in the registry of the workstation and the account in the Active Directory, with automatic rotation every 30 days by default. The client finalizes the process by updating its local registry.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 id="mcetoc_1ip5ncuqj_4" class="lia-align-justify"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Section 3: Frequent Causes of Domain Join Failures&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;Based on the experience working with customers who encounter domain join failures, the three major common issues are as follows:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&lt;SPAN data-contrast="auto"&gt;3-1. Networking related issues&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;Numerous networking issues can lead to the failure of a domain join. Chief among these is the blockage of necessary ports between the client and the Domain Controller (DC). It is observed that more than 50% of domain join failure cases we have worked with are attributable to ports not being open between the client and the Domain Controller. A commonly blocked port is UDP 389, which is crucial for communication between the client and the selected DC to verify availability and obtain capabilities. Often, customers check TCP port 389 to ensure it is open but overlook UDP port 389, both of which are required during the domain join process. The client first sends an LDAP Ping via UDP port 389 to discover a Domain Controller. Once a DC responds, the client initiates a connection on TCP port 389 for authentication and LDAP queries.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;For this type of issue, you will see domain join error like this: &lt;EM&gt;“The specified domain either does not exist or could not be contacted”&lt;/EM&gt;&lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;Blocked ports like TCP 445 (SMB), TCP 88 (Kerberos), and ephemeral ports can cause domain join failures.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;To prevent this type of issue, we should make sure the following ports are open before performing domain join .&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN lia-align-justify"&gt;&lt;table class="lia-align-right lia-border-style-hidden" border="0" style="width: 77.9412%; height: 276.25px; border-width: 0px;"&gt;&lt;tbody&gt;&lt;tr style="height: 44.693px;"&gt;&lt;td class="lia-align-center" style="height: 44.693px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Port&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 44.693px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Protocol&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 44.693px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Application Protocol&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 23.6952px;"&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;53&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;DNS&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 23.6952px;"&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;53&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;UDP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;DNS&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 23.6952px;"&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;389&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;UDP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;DC Locator&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 23.6952px;"&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;389&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;LDAP Server&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 23.6952px;"&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;88&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;Kerberos&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 23.6952px;"&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;135&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;RPC&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 23.6952px;"&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;445&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 23.6952px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;SMB&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 65.6908px;"&gt;&lt;td class="lia-align-center" style="height: 65.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;1024-65535&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 65.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;TCP&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;td class="lia-align-center" style="height: 65.6908px; border-width: 0px;"&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;RPC&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;To check if TCP port is open, you can run PowerShell command:&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;Test-netconnection con-dc.contoso.com -port number&lt;/LI-CODE&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Working Example&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;PS C:\Users\Administrator-W11&amp;gt; Test-netconnection Cont-DC.contoso.com -port 389
ComputerName     : Cont-DC.contoso.com
RemoteAddress    : 192.168.2.100
RemotePort       : 389
InterfaceAlias   : Ethernet
SourceAddress    : 192.168.2.111
TcpTestSucceeded : True&lt;/LI-CODE&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;STRONG&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Non-working Example :&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;PS C:\Users\Administrator&amp;gt; Test-netconnection Cont-DC.contoso.com -port 445
WARNING: TCP connect to (192.168.2.111 : 445) failed
WARNING: Ping to 192.168.2.111 failed with status: TimedOut
ComputerName           : Cont-DC.contoso.com
RemoteAddress          : 192.168.2.100
RemotePort             : 445
InterfaceAlias         : Ethernet 2
SourceAddress          : 192.168.2.111
PingSucceeded          : False
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded       : False&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;To test UDP ports, PowerShell's Test-NetConnection command is not suitable as it primarily supports TCP connections. Instead, we recommend using PortQryUI, which offers features specifically designed for querying UDP connections. This tool provides a more effective solution for testing and troubleshooting UDP connectivity. Download&lt;A href="https://www.microsoft.com/en-us/download/details.aspx?id=24009&amp;amp;msockid=0fa38cc172b769b62ee19999738d68e5" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;PortQryUI&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt; - User Interface for the &lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;PortQry&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt; Command Line Port Scanner from Official Microsoft Download Center&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;You can test using command:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="context"&gt;portqry -n DC01 -p UDP -e 389 (replace DC01 to your DC’s FQDN)&lt;/LI-CODE&gt;
&lt;P class="lia-align-justify"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;For example,&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="context"&gt;C:\Users\Administrator&amp;gt;cd C:\PortQryUI
C:\PortQryUI&amp;gt;portqry -n cont-dc.contoso.com -p UDP -e 389
Querying target system called:
cont-dc.contoso.com
Attempting to resolve name to IP address...
Name resolved to 192.168.2.100
querying...
UDP port 389 (unknown service): LISTENING or FILTERED
Using ephemeral source port
Sending LDAP query to UDP port 389...
LDAP query response:
domainFunctionality: 7
forestFunctionality: 7
domainControllerFunctionality: 7
rootDomainNamingContext: DC=contoso,DC=com
ldapServiceName: contoso.com:cont-dc$@CONTOSO.COM
isGlobalCatalogReady: TRUE
supportedSASLMechanisms: GSSAPI
supportedLDAPVersion: 3
supportedLDAPPolicies: MaxPoolThreads
supportedControl: 1.2.840.113556.1.4.319
supportedCapabilities: 1.2.840.113556.1.4.800
subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,DC=contoso,DC=com
serverName: CN=CONT-DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=contoso,DC=com
schemaNamingContext: CN=Schema,CN=Configuration,DC=contoso,DC=com
namingContexts: DC=contoso,DC=com
isSynchronized: TRUE
highestCommittedUSN: 329631
dsServiceName: CN=NTDS Settings,CN=CONT-DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=contoso,DC=com
dnsHostName: Cont-DC.contoso.com
defaultNamingContext: DC=contoso,DC=com
currentdate: 02/28/2025 18:14:50 (unadjusted GMT)
configurationNamingContext: CN=Configuration,DC=contoso,DC=com
======== End of LDAP query response ========
UDP port 389 is LISTENING&lt;/LI-CODE&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;For more networking related issue causing domain join fail, please visit &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/troubleshoot-errors-join-computer-to-domain#networking-error-messages-and-resolutions" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Troubleshoot errors that occur when you join Windows-based computers to a domain - Windows Server | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&lt;SPAN data-contrast="auto"&gt;3-2. Hostname of the client is not unique.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;3-2-1. There is an existing computer account with the same name in the domain AND the account you used to join the domain is the one of the exempted users in domain join hardening.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;For example:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1080}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;A new workstation named Cont-W10 (referred to as computer A) has been provisioned, and you are using Domain Admin account who created this object attempting to join it to the domain contoso.com. There is another computer object also named Cont-W10 (referred to as Computer B) that currently exists in the active directory. If you try to join the domain, it will permit you to join the domain but will disrupt the secure channel between computer B (Cont-W10) and the Domain Controller (DC).&amp;nbsp;&lt;/SPAN&gt;Upon its next reboot, computer B will encounter an error: The&lt;EM&gt;&amp;nbsp;trust relationship between this workstation and the primary domain failed.&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1080}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;This happens because when a client joins the domain, it generates a new machine password, which is then stored in the corresponding computer object in Active Directory. Since the existing Cont-W10 object is updated with the new password, the previous Computer B's locally stored password will no longer match the one in Active Directory, breaking its secure communication with the DC.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1080}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1080}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;3-2-2. There is an existing computer account with the same name in the forest.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;For example:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1080}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;When attempting to join a workstation named Cont-Win11 (Computer C) to the domain child.contoso.com, the operation fails because another computer object, Cont-W11 (Computer D), already exists in the parent domain contoso.com. This results in the error: &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;"The operation failed because SPN value provided for addition/modification is not unique forest wide." &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;During the domain join process, the Netlogon service on the client registers Service Principal Names (SPNs) in Active Directory, including the HOST/ComputerName format. Since SPNs must be unique across the entire Active Directory Forest, the attempt to create HOST/Cont-Win11 fails due to the existing entry for Computer D in the parent domain, preventing the domain join from completing successfully.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:1080}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;To resolve this issue, you have two options:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720,&amp;quot;335559731&amp;quot;:197}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Delete the existing computer object in the parent domain (contoso.com) if it is no longer needed. This will remove the conflicting SPN, allowing the new workstation (Cont-Win11) to join the child domain successfully.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Rename the new workstation before attempting the domain join again. Choosing a unique name will prevent SPN conflicts and allow the workstation to be added without issues.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;To Prevent name conflict when joining the domain , you can search the computer name you plan to use in the global catalog&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;SPAN data-contrast="auto"&gt;3-3. Domain Join Hardening Changes &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="https://support.microsoft.com/en-us/topic/kb5020276-netjoin-domain-join-hardening-changes-2b65a0f3-1f4c-42ef-ac0f-1caaf421baf8" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;KB5020276—Netjoin: Domain join hardening changes - Microsoft Support&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:386}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;KB5020276 introduces domain join hardening changes to improve security by preventing unauthorized or unintended computer account takeovers during domain join operations. Before this update, if a computer with the same name already existed in Active Directory, joining a new machine with the same name could overwrite the existing object, potentially breaking its secure channel with the Domain Controller (DC). With this update, additional validation is enforced to ensure that only users with the proper permissions can reset or reuse an existing computer account. If the required permissions are missing, the domain join will fail with an error: &lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;An account with the same name exists in Active Directory. Re-using the account was blocked by security policy.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-align-justify lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;To successfully join a machine to the domain, administrators must either delete the existing computer object, have the necessary permissions to reuse it, or use a different unique name for the new machine.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-contrast="auto"&gt;If you want to dive deep troubleshooting domain join failures, capture a network trace and examine the Netsetup.log file. Netsetup.log is an important resource for diagnosing domain join issues and can be found at &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;C:\Windows\Debug\netsetup.log.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; Review the log to identify error messages and search the Microsoft website for relevant articles or known solutions.&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; For more information:&lt;EM&gt; &lt;/EM&gt;&lt;/SPAN&gt;&lt;EM&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/active-directory-domain-join-troubleshooting-guidance" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Active Directory domain join troubleshooting guidance - Windows Server | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Apr 2025 22:39:14 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/domain-join-and-basic-troubleshooting/ba-p/4405860</guid>
      <dc:creator>SiyaoLi</dc:creator>
      <dc:date>2025-04-22T22:39:14Z</dc:date>
    </item>
    <item>
      <title>Stop Worrying and Love the Outage, Vol IV: Preference items</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/stop-worrying-and-love-the-outage-vol-iv-preference-items/ba-p/4370455</link>
      <description>&lt;P&gt;&lt;EM&gt;This is the fourth article in a series:&lt;BR /&gt;&lt;/EM&gt;&lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/stop-worrying-and-love-the-outage-vol-i-group-policy-and-sharing/ba-p/4036409" target="_blank" rel="noopener"&gt;Stop Worrying and Love the Outage, Vol I: Group Policy and Sharing Violations&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/stop-worrying-and-love-the-outage-vol-ii-dcs-custom-ports-and/ba-p/4062773" target="_blank" rel="noopener"&gt;Stop Worrying and Love the Outage, Vol II: DCs, custom ports, and Firewalls/ACLs&lt;/A&gt;&lt;BR /&gt;&lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-blog" href="https://techcommunity.microsoft.com/blog/AskDS/stop-worrying-and-love-the-outage-vol-iii-cached-logons/4170973" target="_blank" rel="noopener" data-lia-auto-title="Stop Worrying and Love the Outage, Vol III: Cached Logons" data-lia-auto-title-active="0"&gt;Stop Worrying and Love the Outage, Vol III: Cached Logons&lt;/A&gt;&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Hello, Chris Cartwright here from the Directory Services support team, returning (after a brief hiatus) to try to provide the IT community with some tools and verbiage that will hopefully save you and your business many hours, dollars, and frustrations.&amp;nbsp; Today, we will go over something we see sometimes: Group Policy Preference items conflicting with existing client-side extensions (CSE).&amp;nbsp; This scenario can range from going completely unnoticed (or occurring intermittently) to causing full outages.&amp;nbsp; The problem with predicting the impact here is that it is completely dependent on setting in question.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Suffice to say, today’s message is, “You should &lt;STRONG&gt;never*&lt;/STRONG&gt; target a group policy registry location (including “Windows Settings\Local Policies\Security Options” settings) with a Preference item unless you want instability and an administrative nightmare.”&amp;nbsp; &lt;EM&gt;We’ll get to that little disclaimer later&lt;/EM&gt;.&amp;nbsp; To illustrate this, we will go with &lt;A href="https://learn.microsoft.com/en-us/windows-server/security/tls/manage-tls#configuring-tls-cipher-suite-order-by-using-group-policy" target="_blank" rel="noopener"&gt;Cipher Suite Ordering&lt;/A&gt; as an example, since a misconfiguration here can completely stop TLS connections to production services.&amp;nbsp;&lt;/P&gt;
&lt;H1&gt;The setting&lt;/H1&gt;
&lt;P&gt;Here’s a view of gpresult from our example machine:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H1&gt;The result&lt;/H1&gt;
&lt;P&gt;This policy setting targets the Functions value seen here in HKLM\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002. &amp;nbsp;Sometimes, it’s this:&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;C:\WINDOWS\system32&amp;gt;reg query HKLM\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Functions&amp;nbsp;&amp;nbsp;&amp;nbsp; REG_SZ&amp;nbsp;&amp;nbsp;&amp;nbsp; TLS_AES_256_GCM_SHA384&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sometimes…it’s this:&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;C:\WINDOWS\system32&amp;gt;reg query HKLM\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Functions&amp;nbsp;&amp;nbsp;&amp;nbsp; REG_SZ&amp;nbsp;&amp;nbsp;&amp;nbsp; TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_NULL_SHA256,TLS_RSA_WITH_NULL_SHA,TLS_PSK_WITH_AES_256_GCM_SHA384,TLS_PSK_WITH_AES_128_GCM_SHA256,TLS_PSK_WITH_AES_256_CBC_SHA384,TLS_PSK_WITH_AES_128_CBC_SHA256,TLS_PSK_WITH_NULL_SHA384,TLS_PSK_WITH_NULL_SHA256&lt;/P&gt;
&lt;P&gt;These are some different Data for the same registry value.&amp;nbsp; So…why is this happening?&amp;nbsp; Well, if we had looked further down:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Here, we have two different GPOs targeting the same registry key.&amp;nbsp; One, correctly uses an Administrative Template to modify a registry value under a SOFTWARE\Policies key.&amp;nbsp; The other, a Preference item, inappropriatelytargets the same policy key.&amp;nbsp; Why “inappropriately”?&amp;nbsp; &lt;U&gt;Because you should &lt;STRONG&gt;never*&lt;/STRONG&gt; target a group policy registry location (including “Windows Settings\Local Policies\Security Options” settings) with a Preference item unless you want instability.&lt;/U&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now, that we’ve gotten that message out of the way... the weirdness:&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This is a Procmon of several gpupdate commands.&amp;nbsp; We see group policy behaving as expected here&amp;nbsp; three times (seen in blue), calling the Registry CSE first (think Administrative Templates), writing some values and data, and then the Group Policy Registry CSE (think Registry preference items) comes along and replaces it.&amp;nbsp; This is the order that these extensions are processed in.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;At this point, who could tell what the intended data of this value was to begin with?&amp;nbsp; Anyway, it does this three times (because I told it to refresh three times) and then &lt;STRONG&gt;doesn’t&lt;/STRONG&gt; do it on the fourth refresh (single line in red).&amp;nbsp; Instead, the Registry CSE applies and nothing else happens.&amp;nbsp; Why?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To answer that, we need to turn on &lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/a-treatise-on-group-policy-troubleshooting-8211-now-with-gpsvc/ba-p/400304" target="_blank" rel="noopener"&gt;Group Policy debug logging&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is where Preference Items “wins” (significantly trimmed):&lt;/P&gt;
&lt;PRE&gt;GPSVC(28c.fe0) 12:46:25:697 ProcessGPOs(Machine): -----------------------&lt;BR /&gt;GPSVC(28c.fe0) 12:46:25:697 ProcessGPOs(Machine): Processing extension Registry &lt;EM&gt;&lt;SPAN style="background-color: #ffff00;"&gt;This is Admin Template Land&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;GPSVC(28c.fe0) 12:46:25:900 ParseRegistryFile: Entering with &amp;lt;\\contoso.com\SysVol\contoso.com\Policies\{9804AF19-19F6-4C96-AEB2-B97DD318F123}\Machine\registry.pol&amp;gt;.&lt;BR /&gt;GPSVC(28c.fe0) 12:46:25:916 SetRegistryValue: Functions =&amp;gt; TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, &amp;lt;snip&amp;gt;...&amp;nbsp; [OK]&lt;BR /&gt;GPSVC(28c.fe0) 12:46:25:916 ParseRegistryFile: Leaving.&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ProcessGPOs(Machine): Processing extension Group Policy Registry &lt;EM&gt;&lt;SPAN style="background-color: #ffff00;"&gt;This is Preference Item Land&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ReadStatus: Read Extension's Previous status successfully.&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ReadGPOList:++&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ReadGPOList: Read Key:0&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ReadGPOList: Read Key:1&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ReadGPOList:-- (Result:TRUE)&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 CheckGPOs: ReadGPOList count = 2&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 CompareGPOLists:&amp;nbsp; The lists are the same.&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 CheckGPOs: No GPO changes but called in &lt;STRONG&gt;force refresh flag or extension Group Policy Registry needs to run force refresh in foreground processing&lt;/STRONG&gt;&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 GPLockPolicySection: Sid = (null), dwTimeout = 30000, dwFlags = 0x40&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 bMachine = 1&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 Global Sync Lock Called&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 Writer Lock got immediately.&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 Global Lock taken successfully&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ProcessGPOList:++ Entering for extension Group Policy Registry&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ProcessGPOList: Passing in the force refresh flag to Extension Group Policy Registry&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 LogExtSessionStatus: Successfully logged Extension Session data&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:494 ProcessGPOList: lpGPOInfo-&amp;gt;lpGPInfoHandle-&amp;gt;dwExtnCount is 2 for Group Policy Registry.&lt;BR /&gt;GPSVC(28c.fe0) 12:46:27:838 ProcessGPOList: Extension Group Policy Registry returned 0x0.&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The above shows that the Administrative Template CSE executes first, and then Preference Items comes along.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And here is where the Administrative Template “wins” instead (significantly trimmed):&lt;/P&gt;
&lt;PRE&gt;GPSVC(28c.fe0) 12:48:47:351 ProcessGPOs(Machine): -----------------------&lt;BR /&gt;GPSVC(28c.fe0) 12:48:47:351 ProcessGPOs(Machine): Processing extension Registry &lt;EM&gt;&lt;SPAN style="background-color: #ffff00;"&gt;This is Admin Template Land&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;GPSVC(28c.fe0) 12:48:47:538 ParseRegistryFile: Entering with &amp;lt;\\contoso.com\SysVol\contoso.com\Policies\{9804AF19-19F6-4C96-AEB2-B97DD318F123}\Machine\registry.pol&amp;gt;.&lt;BR /&gt;GPSVC(28c.fe0) 12:48:47:554 SetRegistryValue: Functions =&amp;gt; TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, &amp;lt;snip&amp;gt; ...[OK]&lt;BR /&gt;GPSVC(28c.fe0) 12:48:47:554 ParseRegistryFile: Leaving.&lt;BR /&gt;~~~~~~~~~~~Large jump here~~~~~~~&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:038 ProcessGPOs(Machine): Processing extension Group Policy Registry &lt;EM&gt;&lt;SPAN style="background-color: #ffff00;"&gt;This is Preference Item Land&lt;/SPAN&gt;&lt;/EM&gt;&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:038 ReadStatus: Read Extension's Previous status successfully.&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:054 ReadGPOList:++&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:054 ReadGPOList: Read Key:0&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:054 ReadGPOList: Read Key:1&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:054 ReadGPOList:-- (Result:TRUE)&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:054 CheckGPOs: ReadGPOList count = 2&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:054 CompareGPOLists:&amp;nbsp; The lists are the same.&lt;BR /&gt;GPSVC(28c.fe0) 12:48:48:054 CheckGPOs: &lt;STRONG&gt;No GPO changes &lt;/STRONG&gt;&lt;STRONG&gt;and no security group membership change and extension Group Policy Registry has NoGPOChanges set.&lt;/STRONG&gt;&lt;/PRE&gt;
&lt;P&gt;In this one, Registry runs, sets the value, and then Group Policy Registry starts and then says, “No GPO changes and no security group membership change and extension Group Policy Registry has NoGPOChanges set.”&lt;/P&gt;
&lt;P&gt;So, what does that mean? &amp;nbsp;I managed to salvage this from the ill-advised archival of Windows Server 2003 documentation:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NoGPOListChanges is a registry value that can be configured for CSEs.&amp;nbsp; When NoGPOListChanges is set to 0, “GPO Changes” above effectively is always yes. Here, we can see the registry value is configured to be 1 for the Group Policy Registry CSE:&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This means that if no changes are detected, we will skip processing.&amp;nbsp; That came from this GPO (Thank you, Procmon):&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thus ends the mystery of the intermittency.&amp;nbsp; Since the Force flag wasn’t set, and NoGPOListChanges is not enabled, the Preference value doesn’t get applied this time.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Remember, I’m not advising you how to make this work.&amp;nbsp; By default, Group Policy Preferences would always reapply anyway unless ‘Apply once and do not reapply’ is enabled.&amp;nbsp; I am just pointing out how you can have an unstable configuration by deploying preference items that you shouldn’t.&amp;nbsp; In addition to this technical issue above, think about the administrative implications.&amp;nbsp; Do you really want to have to constantly compare your list of 300 preference items to your admin templates every time you want to make a change?&amp;nbsp; Friends don’t let friends target preference items at group policy settings.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-Chris “Prefer no conflict” Cartwright&lt;/P&gt;
&lt;P&gt;* &lt;EM&gt;Okay.&amp;nbsp; I did promise to talk about the disclaimer later.&amp;nbsp; There are character limits to some settings.&amp;nbsp; For example, the setting I used here, SSL Cipher Suite Order has a character limit of 1,023.&amp;nbsp; In earlier, unsupported versions of Windows, it was not only possible, but likely, to have a list that went past this limit.&amp;nbsp; In this case, the only Group Policy recourse would be to use this preference item.&amp;nbsp;&amp;nbsp; However, if you were to do this, you would also make sure that SSL Cipher Suite Order was not configured in Admin templates.&amp;nbsp; Given that this is no longer a problem in supported OSes, it is not a valid excuse.&amp;nbsp; I am unaware of any similar settings that exist on a supported OS at this time.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;References:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/desktop/policy/creating-a-policy-callback-function" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/previous-versions/windows/desktop/policy/creating-a-policy-callback-function&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/hey-dude-where-s-my-winlogon-log/ba-p/259042" target="_blank" rel="noopener"&gt;https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/hey-dude-where-s-my-winlogon-log/ba-p/259042&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Feb 2026 16:41:04 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/stop-worrying-and-love-the-outage-vol-iv-preference-items/ba-p/4370455</guid>
      <dc:creator>Chris_Cartwright</dc:creator>
      <dc:date>2026-02-20T16:41:04Z</dc:date>
    </item>
    <item>
      <title>Lost access to your Root CA in your 2-Tier PKI? Don’t worry, Use Cross Signing to Recover!</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/lost-access-to-your-root-ca-in-your-2-tier-pki-don-t-worry-use/ba-p/4284369</link>
      <description>&lt;P&gt;Hello, this is Byron from the Microsoft Directory Services Support team. Today, I’d like to share information about an alternative recovery approach for Public Key Infrastructure (PKI) environments.&lt;/P&gt;
&lt;P&gt;Consider a scenario where the Root Certification Authority (CA) is permanently lost—for example, due to accidental deletion of the Root CA virtual machine, or the system entering an unrecoverable no-boot state without a valid backup. In some cases, there may be no backup of the Root CA’s private key or database, leaving no traditional path to restoration.&lt;/P&gt;
&lt;P&gt;In such cases, the &lt;STRONG&gt;supported and recommended recovery method&lt;/STRONG&gt; is to &lt;STRONG&gt;rebuild the PKI hierarchy from scratch&lt;/STRONG&gt;. However, for extremely rare and critical situations where this is not feasible, there is an alternate recovery method that may allow partial restoration and continuity. This approach is intended only as a &lt;STRONG&gt;last resort&lt;/STRONG&gt;, and should only be considered when no supported recovery options remain.&lt;/P&gt;
&lt;P&gt;While not a replacement for proper backup and disaster recovery practices, this fallback method may help reduce downtime and effort in extreme cases.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;How&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If it is a two-tier PKI, and the Intermediate CA Server is the one issuing certificates to the environment, and we still have access to the Intermediate CA Certificate with private key&lt;STRONG&gt;, we can build another Root CA, and “link” the Intermediate CA Server to the new Root CA&lt;/STRONG&gt;. The steps are simple, just renew the Intermediate CA server with “Same Key pair” with this new Root CA.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A high-level diagram below:&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In fact, this is like the Concept of “&lt;STRONG&gt;Cross Signing&lt;/STRONG&gt;”; the newly issued Intermediate CA Certificate could be considered as a “Cross Certificate” as well.&amp;nbsp; Cross Signing is typically used to make one PKI hierarchy chains up through another hierarchy, even when originally it was not configured that way. This technique is designed for a leaf certificate to build a different certificate verification chain, in case one of the chains fails, allowing certification verification to succeed.&amp;nbsp; Cross signing is also used by public CA companies to start their business which we will discuss more in a later section. &lt;BR /&gt;&lt;BR /&gt;Here are detailed steps on how to do this:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;On the Intermediate CA Server. Open the Certification Authority Management Console. &lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Right click on the CA Name node -&amp;gt; All Tasks -&amp;gt; Renew CA Certificate.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL start="3"&gt;
&lt;LI&gt;Renew Intermediate CA server with “Same Key pair” to create the Certificate renewal request file:&lt;BR /&gt;&lt;BR /&gt;&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Submit the certificate request file (.req) on the newly &lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh831348(v=ws.11)" target="_blank" rel="noopener"&gt;Deployed Root CA&lt;/A&gt; Server, issue it, and go to: Issued Certificates node-&amp;gt; Right click on issued Certificate -&amp;gt; All Taks -&amp;gt; Export Binary Data… -&amp;gt; Save as .cer file. Copy this .cer file to the Intermediate CA.&lt;BR /&gt;&lt;BR /&gt;&lt;img /&gt;&lt;BR /&gt;&lt;img /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL start="5"&gt;
&lt;LI&gt;On the Intermediate CA Server. Install the newly issued Intermediate CA certificate issued by the new Root CA.&lt;BR /&gt;&lt;BR /&gt;&lt;img /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;The existing issued Leaf Certificates verification should continue to work and chain up to the new Root CA.&lt;BR /&gt;&lt;BR /&gt;We can use command &lt;STRONG&gt;Certutil -urlfetch -verify c:\certificate.cer &amp;gt; certificate.txt&lt;/STRONG&gt; to export the certificate verification and chain build information.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;BR /&gt;&lt;STRONG&gt;Previous Chain:&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Leaf certificate:&lt;STRONG&gt; 5700000006d907d38be599e05a000000000006&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;Issuer: &lt;STRONG&gt;CN=ContosoRootCA01,DC=contoso,DC=com&lt;/STRONG&gt;&amp;nbsp; (Previous corrupted Root CA)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;BR /&gt;&lt;STRONG&gt;Current Chain:&lt;/STRONG&gt; &lt;BR /&gt;&lt;BR /&gt;Leaf certificate:&lt;STRONG&gt; 5700000006d907d38be599e05a000000000006&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;Issuer: &lt;STRONG&gt;CN=ContosoRootCA02,DC=contoso,DC=com&lt;/STRONG&gt; (New built Root CA)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;How and Why&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;So exactly what is “&lt;STRONG&gt;Cross Signing&lt;/STRONG&gt;”?&amp;nbsp; Let’s see the following story (I found this story online):&lt;BR /&gt;&lt;BR /&gt;A long time ago (maybe not that long 😊), there was a Certification Authority company called &lt;STRONG&gt;&lt;EM&gt;LetsEncrypt&lt;/EM&gt;&lt;/STRONG&gt;. When they started their business, they generated their own 'ISRG' Root CA Certificate (ISRG Root X1). However, it takes time for the industry to accept new Root Certification Authorities. They could not wait that long to start their business, as this might have taken years.&lt;/P&gt;
&lt;P&gt;They deployed an Intermediate CAs first (LetsEncrypt X3 and LetsEncrypt X4) and used a popular public Certification Authority (&lt;STRONG&gt;DST Root X3&lt;/STRONG&gt;) to sign those Intermediate CA Certificates. This allowed them to start their business immediately and issue Leaf Certificates to customers without waiting for the world to accept their own Root CA.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, the Certificate Chain back then was&amp;nbsp;&lt;STRONG&gt;DST Root X3&lt;/STRONG&gt; --&amp;gt; LetsEncrypt X3 / LetsEncrypt X4 --&amp;gt; Leaf Certificate.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;After 5 years of hard work, the market accepted their Root CA (DST Root X3) and added it to all kinds of products’ Trusted Root. &amp;nbsp;&amp;nbsp;They signed their Intermediate CA certificates with their own Root CA. &lt;BR /&gt;&lt;BR /&gt;Now, another chain is available: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;ISRG Root X1&lt;/STRONG&gt; --&amp;gt; LetsEncrypt X3 / LetsEncrypt X4 --&amp;gt; Leaf Certificate.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;How come the same Intermediate CA can be chained up to different Root CAs?&amp;nbsp; &amp;nbsp;The magic trick is the Intermediate CA Certificate &lt;STRONG&gt;kept the “Same Asymmetric Key Pair&lt;/STRONG&gt;” when it got signed by both DST Root X3 and ISRG Root X1.&lt;/P&gt;
&lt;P&gt;As you can see from the above screenshots, the issuer is different, and they are two different intermediate CA certificates, but the trick here is the &lt;STRONG&gt;Same Key Pair,&lt;/STRONG&gt; even though they were signed by different Root CA’s, aka “&lt;STRONG&gt;Cross Signing&lt;/STRONG&gt;”.&lt;/P&gt;
&lt;P&gt;Another key point here is&amp;nbsp;not all Certificate Chains rely on the AIA path. Another common Certificate chain build method is Key match using AKI/SKI and PKCS#7 which means the server side sends both Leaf Certificate along with Intermediate CA to the client for verification, Client does not need to build chain to Intermediate using AIA.&lt;/P&gt;
&lt;P&gt;You can refer to this document for more information about this story: &lt;A href="https://scotthelme.co.uk/cross-signing-alternate-trust-paths-how-they-work/" target="_blank" rel="noopener"&gt;https://scotthelme.co.uk/cross-signing-alternate-trust-paths-how-they-work/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is another “Cross Sign” method targeting the Root CA Certificate itself. The concept is a little bit different: Using one Root CA Certificate to sign another Root CA Certificate.&lt;/P&gt;
&lt;P&gt;What is the usage scenario? Why do we need this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario 1&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Here is a story: In a large corporation, deploying Root CA certificate to all devices might be challenging. It could be time-consuming and might take a lot of administrative effort.&amp;nbsp; Therefore, during the time periods when large corporations renew their Root CAs, they must find a way for newly issued Certificates under the renewed Root CA start to work as soon as possible.&amp;nbsp; The idea is to sign the new Root CA certificate using the old Root CA Certificate, so the chain could be:&lt;BR /&gt;&lt;BR /&gt;leaf Certificate --&amp;gt;&amp;nbsp; Intermediate CA&amp;nbsp;-&amp;gt;&amp;nbsp; New Root CA (Signed by Old Root CA)--&amp;gt; Old Root CA.&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;BR /&gt;&lt;img /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Because devices should trust Old Root CA already, the new Leaf Certificate works immediately after renewal without waiting for new Root CA Deployed to all devices.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario 2&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL start="2"&gt;
&lt;LI&gt;Another scenario is once the New Root CA is deployed to the environment, the company wants to remove the old Root CA certificate from the Devices’ trusted Store for company policy reasons.&amp;nbsp; &amp;nbsp;How can the existing Certificate continue to work if they are not yet expired and issued by old Root CA Certificate?&amp;nbsp; The solution is also Cross Certificate:&amp;nbsp;&amp;nbsp; Create a CA Certificate with old CA key pair but signed by the new Root CA Certificate. The chain build would be below:&lt;BR /&gt;&lt;BR /&gt;Existing Issued Leaf Certificate --&amp;gt; Intermediate CA --&amp;gt; Old CA Certificate (cross signed by new Root CA) --&amp;gt; New Root CA.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In fact, Active Directory Certificate Service supports this and will generate Cross Certificates by default when renewing a Root CA with a new key.&lt;/P&gt;
&lt;P&gt;Remember that when we renew the Root CA, there will be two additional CRT files called&amp;nbsp;XXXXX &lt;STRONG&gt;(0-1).&lt;/STRONG&gt;crt and XXXXX&lt;STRONG&gt;(&lt;/STRONG&gt;&lt;STRONG&gt;1-0).&lt;/STRONG&gt;crt. &amp;nbsp; These certificates(.crt) are Cross CA Certificate’s.&amp;nbsp;&amp;nbsp; (0-1) is the New Root CA Certificate signed by Old Root CA Certificate.&amp;nbsp; (1-0) is the old Root CA Certificate signed by new Root CA Certificate.&amp;nbsp; They are used for the above Scenario 1 and Scenario 2&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As you can see, the Root CA Certificate has an AKI (Authority Key Identifier), which means it was signed by a CA and an SKI (Subject Key Identifier) that matches it.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;BR /&gt;Of course, in Active Directory, we rarely see the deployment of the Cross Certificate, because for Windows devices, the Active Directory is sufficient to quickly deploy new Root CA Certificate to Windows domain members.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Summary&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The common method to perform PKI disaster recovery when the CA private key and database cannot be restored involves rebuilding the entire PKI Hierarchy PKI from scratch, and replacing every single certificate used by applications and servers.&lt;/P&gt;
&lt;P&gt;While the common method mentioned above is still valid, the “&lt;STRONG&gt;Cross Signing&lt;/STRONG&gt;” method illustrated in this blog offers an alternative quick method to recover our PKI Hierarchy.&amp;nbsp; This could potentially save us from spending a lot of disaster recovery time &amp;amp; administrative effort 😊. &lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Apr 2025 19:17:39 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/lost-access-to-your-root-ca-in-your-2-tier-pki-don-t-worry-use/ba-p/4284369</guid>
      <dc:creator>ByronHu_MS</dc:creator>
      <dc:date>2025-04-21T19:17:39Z</dc:date>
    </item>
    <item>
      <title>Windows Scoping: The Secret Sauce to Squashing Windows Gremlins Faster!</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/windows-scoping-the-secret-sauce-to-squashing-windows-gremlins/ba-p/4194554</link>
      <description>&lt;P&gt;Hello everyone, this is Tagore Nadh, a Sr. Technical Advisor on the Directory Services support team in Microsoft.&amp;nbsp; &amp;nbsp;In this article, I will explain why scoping is important with a couple of good examples.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Generic Scoping Questions:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;What is your objective and the reason behind it?&lt;/LI&gt;
&lt;LI&gt;Can you provide a detailed description of the issue?&lt;/LI&gt;
&lt;LI&gt;What works and what does not?&lt;/LI&gt;
&lt;LI&gt;When does it occur and when does it not?&lt;/LI&gt;
&lt;LI&gt;Where is the issue observed and where is it not?&lt;/LI&gt;
&lt;LI&gt;What is the extent of the issue?&lt;/LI&gt;
&lt;LI&gt;Can you share details of the environment where the issue is occurring?&lt;/LI&gt;
&lt;LI&gt;What error message is displayed?&lt;/LI&gt;
&lt;LI&gt;How do you quantify the problem?&lt;/LI&gt;
&lt;LI&gt;How are you notified of the problem?&lt;/LI&gt;
&lt;LI&gt;What troubleshooting steps have you already undertaken?&lt;/LI&gt;
&lt;LI&gt;What is the business impact of this issue?&lt;/LI&gt;
&lt;LI&gt;Can you clarify what you aim to achieve by resolving this issue?&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;, Microsoft support engineer scopes the issue down to the specific component(s) causing the problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scoping Example 1:&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is your objective and the reason behind it?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;End users reported an incident in Bangalore location where they are unable to login using domain’s credentials into their client machines.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Can you provide a detailed description of the issue?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;All users at the Bangalore site are unable to log in to their client computers using their domain credentials.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How long has the issue been occurring?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Since Sunday&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What has changed?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Network hardware switch upgrade during the weekend&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How frequently does the issue occur?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Consistent issue, users are unable to log in to their client machines using domain credentials.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What works and what does not?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Users are unable to log in to their domain from their client machines at the Bangalore site / They can log in using local admin credentials.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;When does it occur and when does it not?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Since Sunday / Until Saturday, all users were able to log in to their client machines using domain credentials.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Where is the issue observed and where is it not?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Bangalore, India / All other sites aren’t impacted.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is the extent of the issue?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;All users in Bangalore, about 300, are impacted out of 10,000 users in the entire company.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Can you share details of the environment where the issue is occurring?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Production environment&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;1 forest / 1 domain – Contoso.com&lt;/LI&gt;
&lt;LI&gt;10 AD Sites&lt;/LI&gt;
&lt;LI&gt;Affected site name is Bangalore&lt;/LI&gt;
&lt;LI&gt;Client OS: Windows 10 23H2 and Windows 11 23H2&lt;/LI&gt;
&lt;LI&gt;How many domain controllers exist in that site? 4 Windows 2019 Operating System&lt;/LI&gt;
&lt;LI&gt;Names of DCs: DC1, DC2, DC3 and DC4 with &amp;lt;IP address details here&amp;gt;&lt;/LI&gt;
&lt;LI&gt;Is DNS Microsoft AD integrated or third party? Microsoft AD Integrated&lt;/LI&gt;
&lt;LI&gt;Are clients pointing to the same site domain controllers for DNS? Yes, DC1 is Primary and DC2 alternate DNS.&lt;/LI&gt;
&lt;LI&gt;Do they use DHCP? Yes&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;What error message is displayed? &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;No logon servers are available to service the request&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How do you quantify the problem? &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;300 users are impacted.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How are you notified of the problem?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;End users at the Bangalore site reported the issue.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What troubleshooting steps have you already undertaken?&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Tried to login to client machine locally – works&lt;/LI&gt;
&lt;LI&gt;Attempted to ping the domain name – doesn’t work, gets request timed out.&lt;/LI&gt;
&lt;LI&gt;Does pinging domain controller ip address work? - yes&lt;/LI&gt;
&lt;LI&gt;Does accessing resources using ip work? no, prompts for credentials&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;What is the business impact of this issue?&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The issue is in the production environment.&lt;/LI&gt;
&lt;LI&gt;300 users are unable to work.&lt;/LI&gt;
&lt;LI&gt;As it is the month-end, loan requests can’t be completed in time, and other regular bank financial operations are impacted.&lt;/LI&gt;
&lt;LI&gt;This could result in a $1 million business loss if requests are not processed in time.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Can you clarify what you aim to achieve by resolving this issue?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;To address user logon issues using domain credentials on workstations at the Bangalore site.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Resolution:&lt;/STRONG&gt;&amp;nbsp;These scoping answers helped a Microsoft support engineer quickly focus on domain controllers. &amp;nbsp;&amp;nbsp;It was found that the E drive, where active directory database file (NTDS.DIT) resides over a network fiber channel in a different network segment via an upgraded Network hardware device. &amp;nbsp;A quick reboot of the domain controllers re-established connectivity to the network drives hosting active directory database file, resolving the issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&amp;nbsp;It is important to follow the same approach when dealing with multiple sub-problems of a main issue. The cause for each issue may differ.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scoping Example 2:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is your objective and the reason behind it?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Working on a development server deployment, mitigating security vulnerabilities reported on existing and new servers as per Qualys scans. The project deadlines are close by, with just a week away.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Can you provide a detailed description of the issue?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Below SSL/TLS vulnerabilities are detected as per Qualys Scan on multiple newly installed and existing servers.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SSL Certificate Cannot Be Trusted&lt;/LI&gt;
&lt;LI&gt;SSL Certificate Expiry&lt;/LI&gt;
&lt;LI&gt;SSL Certificate Signed Using Weak Hashing Algorithm&lt;/LI&gt;
&lt;LI&gt;SSL Certificate with Wrong Hostname&lt;/LI&gt;
&lt;LI&gt;SSL Medium Strength Cipher Suites Supported (SWEET32)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;How long have these vulnerabilities existed?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Vulnerabilities exist on 10 existing servers for the last 8 months and on new servers for a week.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How frequently does Qualys scan happen?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The scan is run once a month&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Can you share details of the environment where the issue is occurring?&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Development of non-prod environment&lt;/LI&gt;
&lt;LI&gt;1 forest / 1 domain – Contoso.com&lt;/LI&gt;
&lt;LI&gt;Number of impacted servers: 25&lt;/LI&gt;
&lt;LI&gt;In-house or third-party applications running: Yes, several&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;What error message is displayed?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;No error message&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How do you quantify the problem?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;25 servers are affected&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How are you notified of the problem?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The security team suggested addressing vulnerabilities based on priority.&lt;/P&gt;
&lt;P&gt;Qualys scan detected vulnerabilities.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What steps have you already undertaken and what help is needed?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Mitigation plans exist in the Qualys scan report. Need some advice from Microsoft on recommendations on how to implement?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is the business impact due to this?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The security team reported non-compliance issues. If not addressed within a week, it could cause auto shutdown of these servers. This would impact developers, preventing them from testing their applications and thus delaying project timelines.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Can you clarify what you aim to achieve by resolving this issue?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;What is the best way or approach to address reported vulnerabilities&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Recommendation:&lt;/STRONG&gt;&amp;nbsp;On new servers, proceed to apply the suggested mitigation plans by Qualys. It isn’t simple to follow the same mitigations on old servers with in-house/third-party applications running without validating the compatibility of each mitigation plan. A phased approach is needed: apply one mitigation at a time and test to avoid any unexpected behaviors. Apply the same approach to one server at a time as they all host distinct applications with different configurations.&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&amp;nbsp;It is important to follow the same approach when dealing with multiple sub-tasks of a main goal. The goal of each task may differ.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Conclusion:&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; Scoping an issue is a fundamental step in problem-solving that ensures a thorough understanding and effective resolution. By systematically gathering detailed information and focusing on the core aspects of the problem, you can prioritize and address issues more efficiently. This approach not only helps in resolving the current problem but also prevents future occurrences, ultimately leading to a more stable and reliable environment for all CSS customers.&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 04 Nov 2024 19:31:18 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/windows-scoping-the-secret-sauce-to-squashing-windows-gremlins/ba-p/4194554</guid>
      <dc:creator>TagoreN</dc:creator>
      <dc:date>2024-11-04T19:31:18Z</dc:date>
    </item>
    <item>
      <title>Secure Time Seeding on DCs: A Note from the Field</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/secure-time-seeding-on-dcs-a-note-from-the-field/ba-p/4238810</link>
      <description>&lt;P&gt;Update 4/30/2025:&lt;BR /&gt;Official recommendation to disable Secure Time Seeding on DCs can be found here:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/sts-recommendations-for-windows-server#timekeeping-issues-related-to-sts" target="_blank" rel="noopener"&gt;Secure Time Seeding Recommendations for Windows Server - Windows Server | Microsoft Learn&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hello all, Chris from Directory Services here again.&amp;nbsp; Lately, we’ve seen an increase in cases where DCs (Domain Controllers) suffer issues with time jumps, many times into the future.&amp;nbsp; &amp;nbsp;As everyone here knows, time synchronization is critical for Active Directory and other applications.&amp;nbsp; As time has passed (hyuk hyuk), we’ve seen some interesting scenarios from simple misconfigurations to the &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/fixing-when-your-domain-traveled-back-in-time-the-great-system/ba-p/255877" target="_blank" rel="noopener"&gt;Great Rollback&lt;/A&gt;.&amp;nbsp; Regardless of the cause, these issues were capable of causing huge outages for customers, so in Server 2008, we released &lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/configure-w32ime-against-huge-time-offset" target="_blank" rel="noopener"&gt;a new default value&lt;/A&gt; for w32Time’s protection configuration.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MaxPosPhaseCorrection and MaxNegPhaseCorrection&amp;nbsp;defaults were changed from “take literally anything” to 48 hours.&amp;nbsp; We’ve also released various guidance on configuring Domain Controllers for NTP:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc773263(v=ws.10)" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc773263(v=ws.10)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/support-boundary-high-accuracy-time" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/support-boundary-high-accuracy-time&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/configuring-your-pdce-with-alternate-time-sources/ba-p/394945" target="_blank" rel="noopener"&gt;https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/configuring-your-pdce-with-alternate-time-sources/ba-p/394945&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/configuring-an-authoritative-time-server-with-group-policy-using/ba-p/395806" target="_blank" rel="noopener"&gt;https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/configuring-an-authoritative-time-server-with-group-policy-using/ba-p/395806&lt;/A&gt;&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;So what brings us here?&lt;/H1&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Well, with Server 2016, came &lt;A href="https://learn.microsoft.com/en-us/archive/blogs/w32time/secure-time-seeding-improving-time-keeping-in-windows" target="_blank" rel="noopener"&gt;Secure Time Seeding&lt;/A&gt;&amp;nbsp;(STS).&amp;nbsp; &lt;A href="https://learn.microsoft.com/en-us/archive/blogs/w32time/secure-time-seeding-improving-time-keeping-in-windows" target="_blank" rel="noopener"&gt;Further commentary&lt;/A&gt; addressed this release as a more of a client solution and &lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/domain-time-synchronization-in-the-age-of-working-from-home/ba-p/1440820" target="_blank" rel="noopener"&gt;not as an accurate enough solution for Active Directory&lt;/A&gt;.&amp;nbsp; However, Secure Time Seeding is&lt;STRONG&gt; enabled by default &lt;/STRONG&gt;on all currently supported Windows Server OSes.&lt;STRONG&gt;&amp;nbsp; &lt;/STRONG&gt;Furthermore, it does not honor MaxPosPhaseCorrection or MaxNegPhaseCorrection.&amp;nbsp; CSS has seen high production impact at customer sites due to STS setting an incorrect time when TLS connections are made to woefully misconfigured devices.&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;Wait, what?&lt;/H1&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You can probably see where this is going.&amp;nbsp; We urge all Active Directory administrators out there to take this information and consider whether this is something you want or not.&amp;nbsp; From the w32time blog post above:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;If you would rather trust your system clock than time data generated from your SSL traffic and want to forgo any benefit this feature gives you, we got your back. Set the following registry value to&amp;nbsp;&lt;STRONG&gt;0&lt;/STRONG&gt;&amp;nbsp;and reboot your machine and the Secure Time Seeding feature will be disabled. (Standard warning about exercising care while modifying registry applies here).&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Value Name: UtilizeSslTimeData&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Value Type: REG_DWORD&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;(Note that there is also a Group Policy that has an option to enable or disable UtilizeSslTimeData&lt;/STRONG&gt;&lt;BR /&gt;Path: Computer Configuration\Administrative Templates\System\Windows Time Service&lt;BR /&gt;Group Policy: Global Configuration Settings&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;If configured, this will override the registry setting above.)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;To compound the issue even further, there is no logging that will point to STS as having set the time.&amp;nbsp; The only way to know that it made the change is to already have w32tm debug logging enabled before it happens where you would see something like this:&lt;/P&gt;
&lt;PRE&gt;152929 22:35:45.3014352s - ClockDispln Discipline: *SET*SECURE*TIME*&lt;/PRE&gt;
&lt;P&gt;Running w32tm debug logging 24/7 is not going to be something we would ever recommend unless we absolutely had to, similar to most other debug logging.&amp;nbsp;&lt;/P&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;So, where do I stand?&lt;/H1&gt;
&lt;P&gt;Here’s a command that will allow you to see the value on all your DCs:&lt;/P&gt;
&lt;PRE&gt;&lt;BR /&gt;For /f %i IN ('dsquery server -o rdn') do REG QUERY \\%i\HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config /v UtilizeSslTimeData /t REG_DWORD&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In conclusion, while Secure Time Seeding offers potential benefits, it is possible for issues to arise with Active Directory.&amp;nbsp; Administrators must weigh these considerations carefully when deciding whether to disable this feature. Additionally, consider that this can impact non-DC servers in productions as well.&amp;nbsp; The decision should be based on the specific needs and configurations of their environment.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Chris “All this Time” Cartwright&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;References:&lt;/P&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/client-clock-reverts-to-previous-time" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/client-clock-reverts-to-previous-time&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/configure-w32ime-against-huge-time-offset" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/configure-w32ime-against-huge-time-offset&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/fixing-when-your-domain-traveled-back-in-time-the-great-system/ba-p/255877" target="_blank" rel="noopener"&gt;https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/fixing-when-your-domain-traveled-back-in-time-the-great-system/ba-p/255877&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/domain-time-synchronization-in-the-age-of-working-from-home/ba-p/1440820" target="_blank" rel="noopener"&gt;https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/domain-time-synchronization-in-the-age-of-working-from-home/ba-p/1440820&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/bg-p/AskDS/label-name/Time" target="_blank" rel="noopener"&gt;https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/bg-p/AskDS/label-name/Time&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/bg-p/AskDS/label-name/w32time" target="_blank" rel="noopener"&gt;https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/bg-p/AskDS/label-name/w32time&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/archive/blogs/w32time/secure-time-seeding-improving-time-keeping-in-windows" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/archive/blogs/w32time/secure-time-seeding-improving-time-keeping-in-windows&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/client-clock-reverts-to-previous-time" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/client-clock-reverts-to-previous-time&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Jan 2026 19:24:58 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/secure-time-seeding-on-dcs-a-note-from-the-field/ba-p/4238810</guid>
      <dc:creator>Chris_Cartwright</dc:creator>
      <dc:date>2026-01-26T19:24:58Z</dc:date>
    </item>
    <item>
      <title>Remote Desktop Services enrolling for TLS certificate from an Enterprise CA</title>
      <link>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/remote-desktop-services-enrolling-for-tls-certificate-from-an/ba-p/4137437</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Hey! Rob Greene again.&amp;nbsp; Been on a roll with all things crypto as of late, and you are not going to be disappointed with this one either!&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;Background&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Many know that Remote Desktop Services uses a self-signed certificate for its TLS connection from the RDS Client to the RDS Server over the TCP 3389 connection by default. However, Remote Desktop Services can be configured to enroll for a certificate against an Enterprise CA, instead of continuing to use those annoying self-signed certificates everywhere.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;I know there are other blogs out there that cover setting up the certificate template, and the group policy, but what if I told you most of the blogs that I have seen on this setup are incomplete, inaccurate, and do not explain what is happening with the enrollment and subsequent renewals of the RDS certificate!?&amp;nbsp; I know… Shocker!!!&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;How this works&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The Remote Desktop Service looks for a certificate, in the computer personal store, that has a specific Enhanced Key Usage with the Object Identifier (OID) of &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;1.3.6.1.4.1.311.54.1.2,&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; which is typically named &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Remote Desktop Authentication&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, or &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Server Authentication&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&amp;nbsp; It prefers a certificate with the OID of Remote Desktop Authentication.&amp;nbsp; &lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn781533(v=ws.11)" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn781533(v=ws.11)&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN data-contrast="auto"&gt;Sidebar:&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;If you are a pretty regular consumer of the AskDS blog content you know how we love to recommend using one certificate on the server for a specific Enhanced Key Usage (EKU), and make sure that you have all the information required on the certificate so that it works with all applications that need to use the certificate.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;This certificate is no different.&amp;nbsp; I would recommend that the certificate that is used ONLY has the EKU for Remote Desktop Authentication and DOES NOT have an EKU of Server Authentication at all.&amp;nbsp; The reason for this is that this certificate should not be controlled / maintained via Autoenrollment/renewal behaviors.&amp;nbsp; This needs to be maintained by the Remote Desktop Configuration service, and you do not want certificates being used by other applications being replaced by a service like this as it will cause an issue in the long run.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;There is a group policy setting that can be enabled to configure the Remote Desktop Service to enroll for the specified certificate and gives the &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;NT Authority\NetworkService&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; account permission to the certificates private key which is a requirement for this to work.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The interesting thing about this is that you would think that the Remote Desktop Service service would be the service responsible for enrolling for this certificate, however it is the Remote Desktop Configuration (&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;SessionEnv&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;) service that is responsible for initial certificate requests as well as certificate renewals.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;It is common to see the RDS Authentication Certificate template configured for autoenrollment, however this is one of the worse things you can do, and &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;WILL&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; cause issues with Remote Desktop Services once the certificate renewal timeframe comes in.&amp;nbsp; Autoenrollment will archive the existing certificate causing RDS to no longer be able to find the existing certificate; then when you require TLS on the RDS Listener, users will fail to connect to the server.&amp;nbsp; Then, at some point, Remote Desktop Configuration service will replace the newly issued certificate with a new one because it maintains the Thumbprint of the certificate that RDS should be using within WMI.&amp;nbsp; When it tries to locate the original thumbprint and cannot find it, it will then attempt to enroll for a new one at the next service start. This is generally when we see the cases rolling in to the Windows Directory Services team because it appears to be a certificate issue even though this is a Remote Desktop Services configuration issue.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;What we want to do is first make sure that all the steps are taken to properly configure the environment so that the Remote Desktop Configuration service is able to properly issue certificates.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;The Steps&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Like everything in IT (information technology), there is a list of steps that need to be completed to get this setup properly.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Configure the certificate template and add it to a Certification Authority to issue the template.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Configure the Group Policy setting.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P aria-level="2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;Configuring the Certificate Template&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The first step in the process is to create&amp;nbsp;and configure the certificate template that we want to use:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="9" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Log on to a computer that has the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Active Directory Certificate Services Tools&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; Remote Server Administration Tools (RSAT) installed or a Certification Authority within the environment.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="9" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Launch:&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;CertTmpl.msc&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp; (Certificate Template MMC)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="9" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Find the template named &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Computer&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, right click on it and select &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Duplicate Template&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="9" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;On the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Compatibility&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; tab, select up to &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Windows Server 2012 R2&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; for &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Certification Authority&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; and &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Certificate recipient&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&amp;nbsp; Going above this might cause issues with CEP / CES environments.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="9" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;On the General tab, we need to give the template a name and validity period.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;
&lt;OL class="lia-list-style-type-lower-alpha"&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="9" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Type in a good descriptive name in the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Template display name&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; field.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="9" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;If you would like to change the Validity period, you can do that as well.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="9" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;You should NOT check the box &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Publish certificate in Active Directory&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;NOTE: &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Make sure to copy the value in the &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Template name&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt; field&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, as this is the name that you will need to type in the group policy setting.&amp;nbsp; Normally it will be the display name without any spaces in the name, but do not rely on this.&amp;nbsp; Use the value you see during template creation or when looking back at the template later.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="6"&gt;6.&amp;nbsp; On the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Extensions&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; tab, the Enhanced Key Usage / Application Policies need to be modified.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;a.&amp;nbsp; Select &lt;STRONG style="font-family: inherit;"&gt;&lt;SPAN data-contrast="auto"&gt;Application Policies&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, and then click on the &lt;/SPAN&gt;&lt;STRONG style="font-family: inherit;"&gt;&lt;SPAN data-contrast="auto"&gt;Edit&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;b.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Multi select or select individually &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Client Authentication&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; and &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Server Authentication&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; and click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Remove&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;c.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Add&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button, and then click on the New button if you need to create the Application Policy for Remote Desktop Authentication.&amp;nbsp; Otherwise find the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Remote Desktop&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; Authentication policy in the list and click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;OK&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;d.&amp;nbsp; If you need to create the Remote Desktop Authentication application policy, click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Add&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button, and then for the Name type in &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Remote Desktop Authentication&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, and type in &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;1.3.6.1.4.1.311.54.1.2&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; for the Object identifier value, and click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;OK&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;e.&amp;nbsp; Verify the newly created Remote Desktop Authentication application policy, and then click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;OK&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button twice.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1080,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;7.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Remote Desktop service can use a Key Storage Provider (KSP).&amp;nbsp; So, if you would like to change over from a Legacy Cryptographic Service Provider (CSP) to using a Key Storage Provider this can be done on the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Cryptography&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; tab.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;8.&amp;nbsp; Get the permissions set properly.&amp;nbsp; To do this click on the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Security&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; tab.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;a.&amp;nbsp; Click the &lt;STRONG&gt;Add&lt;/STRONG&gt; button and add any specific computer or computer groups you want to enroll for a certificate.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;b.&amp;nbsp; Then Make sure to &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;ONLY&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; select Allow &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Enroll&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; permission.&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;DO NOT&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; select &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Autoenroll&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;NOTE:&amp;nbsp; Please keep in mind that Domain Controllers &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;DO NOT&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; belong to the Domain Computers group, so if you want all workstations, member server and Domain Controllers to enroll for this certificate, you will need Domain Computers&amp;nbsp; and Enterprise Domain Controllers or Domain Controllers groups added with the security permission of &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Allow – Enroll&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;9.&amp;nbsp; When done making other changes to the template as needed, click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;OK&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button to save the template.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;Configure the Group Policy&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;After working through getting the certificate template created and configured to your liking, the next step in the process is to setup the Group Policy Object properly.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;The group policy setting that needs to be configured is located at:&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp; &amp;nbsp; With the Policy "&lt;STRONG&gt;Server authentication certificate template&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;When adding the template name to this group policy it will accept one of two things:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Certificate template name, again this is NOT the certificate template display name.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Certificate templates Object Identifier value.&amp;nbsp; Using this is not common, however some engineers will recommend this over the template name.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;If you use the certificate template display name, the Remote Desktop Configuration service (SessionEnv) will successfully enroll for the certificate, however the next time the policy applies it will enroll for a new certificate again.&amp;nbsp; This causes enrollments to happen and can make a CA very busy.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;Troubleshoot issues of certificate issuance&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Troubleshooting problems with certificate issuance is usually easy once you have a good understanding of how Remote Desktop Services goes about doing the enrollment, and there are only a few things to check out.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;Investigating what Certificate Remote Desktop Service is configured to use.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The first thing to investigate is figuring out what certificate, if any,the Remote Desktop Services is currently configured to use.&amp;nbsp; This is done by running a WMI query and can be done via PowerShell or good’ol WMIC.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&amp;nbsp;(Note: WMIC is deprecated and &lt;A href="https://techcommunity.microsoft.com/t5/windows-it-pro-blog/wmi-command-line-wmic-utility-deprecation-next-steps/ba-p/4039242" target="_blank"&gt;will be removed&lt;/A&gt; at a future date.)&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;PowerShell:  Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace Root\cimv2\Terminalservices&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;WMIC:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Get SSLCertificateSHA1Hash&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;We are interested in the &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;SSLCertificateSHA1Hash&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; value that is returned.&amp;nbsp; This will tell us the thumbprint of the certificate it is attempting to load.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Keep in mind that if the Remote Desktop Service is still using the self-signed certificate, it can be found by:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="11" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;launch the local computer certificate store (CertLM.msc).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="11" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Once the Computer store opened look for the store named: &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Certificates - Local Computer\Remote Desktop\Certificates&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="11" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;We would then double click on the certificate, then click on the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Details&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; tab, and find the field named &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Thumbprint&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="11" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Then validate if this value matches the value of &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;SSLCertificateSHA1Hash&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; from the output.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If there is no certificate in the Remote Desktop store, or if the &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;SSLCertificateSHA1Hash&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; value does not match any of the certificates in the store &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Thumbprint&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; field, then it would be best to visit the &lt;/SPAN&gt;&lt;STRONG&gt;Certificates – Local Computer\Personal\Certificates&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; store next.&amp;nbsp; Look for a certificate that has the &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Thumbprint&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; field matching the &lt;/SPAN&gt;&lt;STRONG&gt;SSLCertificateSHA1Hash&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; value.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;Does the Remote Desktop Service have permission to the Certificate private key&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Once the certificate has been tracked down, we then must figure out if the certificate has a private key and if so, does the account running the service have permission to the private key?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you are using Group Policy to deploy the certificate template information and the computer has permissions to enroll for the certificate, then the permissions in theory should be configured properly for the private key and have the &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;NT Authority\NetworkService&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; with &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Allow – Read&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; permissions to the private key.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you are having this problem, then more than likely the environment is NOT configured to deploy the certificate template via the group policy setting, and it is just relying on computer certificate autoenrollment and a certificate that is valid for Server Authentication.&amp;nbsp; Relying on certificate autoenrollment is not going to configure the correct permissions for the private key and add Network Service account permissions.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;To check this, follow these steps:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="12" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;launch the local computer certificate store (CertLM.msc).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="12" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Once the Computer store opened look for the store named: &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Certificates - Local Computer\Personal\Certificates&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="12" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Right click on the certificate that you are interested in, then select &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;All Tasks&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, and click on &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Manage Private Keys&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;4.&amp;nbsp; Verify that &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Network Service&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; account has &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Allow - Read&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; Permissions.&amp;nbsp; If not, then add it.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1080,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;a.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Add&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;b.&amp;nbsp; In the Select Users or Groups, click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Locations&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button, and select the local computer in the list.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;c.&amp;nbsp; Type in the name “&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Network Service&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;”&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-90px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;d.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Then click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Check Names&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button, and then click the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;OK&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; button.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;5.&amp;nbsp; If the certificate does not appear to have a private key associated with it in via the Local Computer Certificate store snapin, then you may want to run the following CertUtil command to see if you can repair the association.&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;CertUtil -RepairStore My &lt;EM&gt;[* / CertThumbprint]&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;How to change the certificate that Remote Desktop Services is using&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you have determined that Remote Desktop Services is using the wrong certificate, there are a couple of things that we can do to resolve this.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="14" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;We can delete the certificate from the Computer Personal store and then cycle the Remote Desktop Configuration (SessionEnv) service.&amp;nbsp; This would cause immediate enrollment of a certificate using the certificate template defined in the group policy.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;PowerShell:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;BR /&gt;     $RDPSettings = Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace Root\cimv2\Terminalservices -Filter "TerminalName='rdp-tcp'"&amp;nbsp;&lt;BR /&gt;     CertUtil -DelStore My $RDPSettings.SSLCertificateSHA1Hash&amp;nbsp;&lt;BR /&gt;     Net Stop SessionEnv&amp;nbsp;&lt;BR /&gt;     Net Start SessionEnv&amp;nbsp;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;2.&amp;nbsp; We could update the Thumbprint value in WMI to reference another certificates thumbprint.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;PowerShell:&amp;nbsp;&lt;BR /&gt;     $PATH = (Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:1080,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;BR /&gt;     Set-WmiInstance -Path $PATH -argument @{SSLCertificateSHA1Hash="CERTIFICATETHUMBRPINT"}&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;SPAN data-contrast="auto"&gt;WMIC:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp; wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash = "CERTIFICATETHUMBPRINT"&amp;nbsp;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P aria-level="2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;Conclusion&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The first thing to remember is deploying certificates for Remote Desktop Services is best done by the Group Policy setting and to NOT setup the certificate template for autoenrollment.&amp;nbsp; Setting the template up for autoenrollment will cause certificate issuance problems within the environment from multiple angles.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI data-leveltext="%1." data-font="" data-listid="15" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Unless you modify the certificate templates default &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Key Permissions&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; setting found on the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Request Handling&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; tab, the account running the Remote Desktop Service will not have permission to the private key if the certificate is acquired via autoenrollment.&amp;nbsp; This is not something that we would recommend.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;This will cause a scenario where even if the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;SSLCertificateSHA1Hash&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; value is correct, it will not be able to use the certificate because it will not have permission to use the private key.&amp;nbsp; If you do have the template configured for custom Private Key permissions, you could again still have issues with the WMI &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;SSLCertificateSHA1Hash&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; value not being correct.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;2.&amp;nbsp; Configure the group policy setting properly as well as the certificate template.&amp;nbsp; It is best to manage this configuration via group policy and you can ensure consistent experience for all RDS connections.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;I know that a lot of you might have deeper questions about how the Remote Desktop Configuration service does this enrollment process, however, please keep in mind that the Remote Desktop Service is really owned by the Windows User Experience team in CSS, and so us Windows Directory Services engineers may not have that deeper level knowledge.&amp;nbsp; We just get called in when the certificates do not work or fail to get issued.&amp;nbsp; This is how we tend to know so much about the most common misconfigurations for this solution.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Rob “Why are RDS Certificates so complicated” Greene&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Sep 2024 16:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/remote-desktop-services-enrolling-for-tls-certificate-from-an/ba-p/4137437</guid>
      <dc:creator>Savannah_Greene</dc:creator>
      <dc:date>2024-09-02T16:00:00Z</dc:date>
    </item>
  </channel>
</rss>

