Microsoft's official enterprise support blog for AD DS and more
Hey all Rob here again. One feature that that is new with Windows Server 2008R2 / Windows 7 is the ability to configure your internal certification authority hierarchy in order to issue certificates that can show as Extended Validation certificates.
So for those of you who do not know, this means that you will get a shaded green bar within Internet Explorer proving that a site is ‘extra trustworthy’. If you want to learn more about extended validation click here. The feature works on the following operating system / IE Versions:
The below steps require you to be logged in as an Enterprise Admin unless you have modified the permissions on your certificate templates.
1. Open the Certificate Templates MMC (CertTmpl.msc). 2. Create a new Version 2 or Version 3 template (or modify an existing v2/v3 template). 3. Click on the Extensions tab. 4. Select Issuance Policies, and click on the Edit button. 5. Click the Add… button. 6. Click New… button. 7. Type in a name for the new Extended Validation Policy. The name for the policy can be anything you like. In my example I used “Contoso Extended Validation (EV)” as the name. 8. Type in the URL to the Certificate Practice Statement (CPS) for your extended validation policy. NOTE: When you create a certificate policy you should have a practice statement defining how the certificate type is to be used, how the certificate type is approved to be issued, and what the requirements are to be fulfilled before issuance. CPS’s are beyond the scope of this blog however and you should do your due diligence in crafting a CPS. 9. The Object Identifier field will be filled out. You can of course replace this with an custom OID (that you obtained) from an internet authority that manages OIDs. Be sure to document and copy this OID for later use. 10. Click OK 11. Highlight the Issuance Policy you just created and click OK. 12. Do not check “Make this extension critical” and click OK. 13. Click “OK” to close the certificate template dialog box.
1. Open the Certificate Templates MMC (CertTmpl.msc).
2. Create a new Version 2 or Version 3 template (or modify an existing v2/v3 template).
3. Click on the Extensions tab.
4. Select Issuance Policies, and click on the Edit button.
5. Click the Add… button.
6. Click New… button.
7. Type in a name for the new Extended Validation Policy. The name for the policy can be anything you like. In my example I used “Contoso Extended Validation (EV)” as the name.
8. Type in the URL to the Certificate Practice Statement (CPS) for your extended validation policy.
NOTE: When you create a certificate policy you should have a practice statement defining how the certificate type is to be used, how the certificate type is approved to be issued, and what the requirements are to be fulfilled before issuance. CPS’s are beyond the scope of this blog however and you should do your due diligence in crafting a CPS.
9. The Object Identifier field will be filled out. You can of course replace this with an custom OID (that you obtained) from an internet authority that manages OIDs. Be sure to document and copy this OID for later use.
10. Click OK
11. Highlight the Issuance Policy you just created and click OK.
12. Do not check “Make this extension critical” and click OK.
13. Click “OK” to close the certificate template dialog box.
It’s actually pretty easy to setup, you will need either a Windows Server 2008R2 / Windows 7 client with RSAT tools (GPMC) installed, or a 2008R2 server with the Group Policy Management feature added .
It is important to note, that it is not required that you have a Windows Server 2008 R2 domain controller, you only need the ability to manage group policies from the newer operating system.
1. Launch Group Policy Management (GPMC.MSC). 2. Edit an existing policy / create a new policy. 3. Navigate to the following location: Computer Configuration\Policies\Windows Settings\Security Settings\Public Key Policies\Trusted Root Certification Authorities 4. Right click on Trusted Root Certification Authorities and select Import 5. You need to import your internal Root Certification Authority certificate using the import wizard. 6. Once the Root Certification Authority certificate has been imported, right click on the certificate and select “Properties” 7. Click on the Extended Validation tab. 8. Paste in the OID from Issuance Policy you created above. 9. Click the Add OID button. 10. Click OK.
1. Launch Group Policy Management (GPMC.MSC).
2. Edit an existing policy / create a new policy.
3. Navigate to the following location: Computer Configuration\Policies\Windows Settings\Security Settings\Public Key Policies\Trusted Root Certification Authorities
4. Right click on Trusted Root Certification Authorities and select Import
5. You need to import your internal Root Certification Authority certificate using the import wizard.
6. Once the Root Certification Authority certificate has been imported, right click on the certificate and select “Properties”
7. Click on the Extended Validation tab.
8. Paste in the OID from Issuance Policy you created above.
9. Click the Add OID button.
10. Click OK.
Have fun with Extended Validation and enjoy your green validated address bar in Internet Explorer.
- Rob ‘OID vey!’ Greene
Remoter Server Administrations Tools are RTM, come and get 'em.
http://www.microsoft.com/downloads/details.aspx?FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d&displaylang=en
Some things to keep in mind:
Have fun.
- Ned 'Snap in to a Snap-In' Pyle
KB
973573
Services that are running under the Network Service account cannot access the \?? namespace after security update MS09-012 (956572) is installed
970176
A Windows Server 2003 SP2-based DNS server does not route a name resolution request to the expected DNS server through the stub zone
974070
The changes that you made to a shared .xls file in an offline folder are not saved
973554
Performance is significantly reduced when you copy or write small files from a computer that is running Windows Vista or Windows Server 2008 into a shared folder that is hosted on a computer that is running Windows Vista or Windows Server 2008
972904
A black screen is displayed and then the system stops responding when you log on to a computer that is running Windows Vista or Windows Server 2008
973510
Downloaded files do not inherit the permissions from the parent folder when you use the Ftp.exe program to download files in Windows Vista or in Windows Server 2008
973772
Group Policy Preferences stops responding when you try to configure the printer item for printers that use third-party drivers on a Windows Vista or Windows Server 2008-based computer
972841
Windows Search does not return files or folders that are under DFS-linked folders on a Windows Vista SP2 or on a Windows Server 2008 SP2-based computer
970916
An application that subscribes to ISensLogon interface events stops receiving logon or logoff event notifications after you log off Windows Vista or Windows Server 2008
970974
The Folder Options preference in Group Policy Preferences is reapplied on a Windows Vista or on a Windows Server 2008-based client computer, even when you select the “Apply once and do not reapply” option
972616
You cannot use the "runas" command to print from different user accounts in a single session from a 32-bit program on a computer that is running 64-bit version of Windows Server 2008 or Windows Vista
972999
Error message when you use Event Viewer to open an event log on a Windows Vista or a Windows Server 2008-based computer: "Event Viewer cannot open the event log or custom view"
971222
Users who are members of the Power Users group or of the Print Operators group cannot install the local printers on a server that is running Windows Server 2008
972299
An "Access Denied" error message is returned when you edit an access control on a network-mapped drive on a Windows Server 2008-based computer
968074
An update is available that enables the Terminal Services license servers that are running Windows Server 2008 to be able to use the CALs for the Windows Server 2008 R2 Remote Desktop Services
971677
A Hyper-V differencing disk that you create in Windows Server 2008 R2 cannot be used in Windows Server 2008
Blogs
· CRM and Kerberos
· Mapping One Smartcard Certificate to Multiple Accounts.
· Split IO and Intermittent “File Not Found” Errors
· Debug 101: What does !analyze do?
· Microsoft delivers test versions of SQL Server 2008 R2
· Managing W2K3 AD domain through Windows Vista or Windows Server 2008 (R2)
· CentOS, OpenSUSE & More Linux Distros on Hyper-V R2!
· NET TIME and w32time
· Windows Server 2008 and Windows Server 2008 R2 Automate Metadata Cleanup
· OldCMP and the dreaded LDAP Error 0×50 “OTHER”
· Two Minute Drill: Debugging – lm, not just Alphabet Neighbors
· Cool Articles: Group Policy Modeling, Windows 7 / Server 2008 R2 functionality
· Federation Services and Direct Access
· Windows 7: Windows XP Mode Release Candidate Now Available
· ADFS Event ID 111
· Finding the SQL server ADFS is using
· Active Directory Federation Services (the server formerly known as Geneva)
· Enabling Logging in ADFS
· Different GPOs for HUBs and for Branch DCs
· Forward-links, Back-links and how these are maintained
Hi, Ned here again. If you have spent any time in the DFSR debug logs, you’ll probably found that getting a file’s full path is a bit of a pain. For example, examine this sample debug log of a file being replicated – see if you find the folder’s path in here anywhere. Go ahead, I’ll wait.
You didn’t find anything because the debug logs won’t tell you. DFSR uses an ESE database to keep track of file and folder paths as part of their IDRECORD information. If you were to examine the database rows directly, you’ll find that its tables don’t contain the full path either. Instead, a record of each ‘object’ (file or folder) is stored as a Unique Identifier (UID) and its relationship with its parent and children UID’s is stored as well. So when you look in the debug logs, you see:
<Upstream> 20090624 12:04:56.359 3196 JOIN 1122 Join::SubmitUpdate LDB Updating ID Record: + fid 0x200000000A752 + usn 0x930508 + uidVisible 1 + filtered 0 + journalWrapped 0 + slowRecoverCheck 0 + pendingTombstone 0 + internalUpdate 0 + dirtyShutdownMismatch 0 + meetInstallUpdate 0 + meetReanimated 0 + recUpdateTime 20080624 16:04:56.339 GMT + present 1 + nameConflict 0 + attributes 0x20 + ghostedHeader 0 + data 0 + gvsn {EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29 + uid {EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29 + parent {175F2B6A-289F-4CA8-AF8B-4D9BF1A2C501}-v2 + fence 16010101 00:00:00.000 + clockDecrementedInDirtyShutdown 0 + clock 20080624 16:04:56.339 GMT (0x1c8d6140ba94250) + createTime 20080624 16:04:56.258 GMT + csId {175F2B6A-289F-4CA8-AF8B-4D9BF1A2C501} + hash 00000000-00000000-00000000-00000000 + similarity 00000000-00000000-00000000-00000000 + name somefile.txt
So what if you want to actually get the real path of a file? That is useful in large environments where file name uniqueness gets less common.
Just provide the UID to this well-hidden WMI Method in a CMD prompt:
Wmic.exe /namespace:\\root\microsoftdfs path dfsridrecordinfo.Uid="your uid here" call getfullfilepath
For example:
Wmic.exe /namespace:\\root\microsoftdfs path dfsridrecordinfo.Uid=”{EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29" call getfullfilepath
Which would tell you:
Method execution successful. Out Parameters: instance of __PARAMETERS { FullPath = "C:\\testrf\\somefile.txt"; ReturnValue = 0; };
Sorta ugly, but it gets the job done.
So much easier now! DFSRDIAG.EXE now supports the IDRECORD option.
DFSRDIAG IDRECORD /UID:some_uid
C:\>dfsrdiag idrecord /uid:{EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29 File name : somefile.txt Path : c:\testrf\somefile.txt UID : {EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29 GVSN : {{EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29
C:\>dfsrdiag idrecord /uid:{EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29
File name : somefile.txt Path : c:\testrf\somefile.txt UID : {EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29 GVSN : {{EDE2D64E-1306-4C7C-B568-449A98371AA2}-v29
Not ugly at all. Read more about this and other new DFSRDIAG features here: DFS Replication: What’s new in Windows Server™ 2008 R2
- Ned ‘Breadcrumbs’ Pyle
Good morning world, Paul Fragale here to bring you the latest trend in smart card logon requests. Some people have been reading on our TechNet pages, such as Smart Card Authentication Changes, about the ability to allow users to have one smart card, one certificate on that smart card, and map to multiple users. This one certificate will allow them to authenticate both to a user account and to an account with special privileges (like an administrator). Why would they want to do this, you ask? They do not want to give administrator permissions to the user accounts but still need to be able to track who made the changes. This will effectively reduce the number of administrator accounts on the machine or environment.
However, this comes with a cost to administrative overhead. To set this up correctly, some steps must be done manually by an administrator that has access to the Active Directory Users and Computers Snap-in.
Also Windows Server 2008 DCs are required for the smartcard authentication. Smart card logon authentication requirements for Windows Server 2003 DCs have a strict User Principal Name (UPN) requirement. That means that a UPN has to be provided in the certificate for proper authentication. This restriction prevents the ability to log on using the name mapping feature that is required for this scenario.
The rest of this blog post contains the step by step for setting up this environment. To enable this ability the following things will have to be done:
Note: The CA must be running on an Enterprise Edition of the Operating System to meet this requirement.
Creating a smart card template for this scenario is 90% the same as creating a duplicate template for any other function. The one exception is in step 7 of the procedure. The certificates issued must not reference a UPN for any mapped user or the authentication for the other mapped accounts will fail.
On the Certificate Authority perform the following tasks:
1. Open certsrv.msc. 2. Expand the name of the CA. 3. Right click Certificate Templates and choose Manage. 4. Right click the Smartcard User or Smartcard Logon template and choose Duplicate Template:
Note: If you are using a Windows 2008 CA you will be prompted to select the minimum CA for your new template. You can select either template option. 5. Provide a name for the smartcard template and set the validity period that you desire for the environment. 6. On the Subject tab, deselect User Principal Name (UPN):
Note: If you are using a Windows 2008 CA you will be prompted to select the minimum CA for your new template. You can select either template option.
5. Provide a name for the smartcard template and set the validity period that you desire for the environment. 6. On the Subject tab, deselect User Principal Name (UPN):
7. On Issuance Requirements tab, do the following a. Select The number of authorized signatures: and set it to 1. b. Under Policy type required in signature, select Application Policy. c. Under Application Policy select Certificate request Agent: 8. Click Apply and then OK. 9. Close Certificate Templates console. 10. In the Certificate Authority snap-in, right click Certificate Templates folder and select New. 11. Select "Certificate Template to Issue”:
7. On Issuance Requirements tab, do the following
a. Select The number of authorized signatures: and set it to 1. b. Under Policy type required in signature, select Application Policy. c. Under Application Policy select Certificate request Agent:
8. Click Apply and then OK. 9. Close Certificate Templates console. 10. In the Certificate Authority snap-in, right click Certificate Templates folder and select New. 11. Select "Certificate Template to Issue”:
12. Select the new template and click Ok:
13. Restart Certificate Services.
Note: It is important to restart the CA services to ensure the CA is processing all the latest information.
Now that we have created and added the smart card certificate template, we need to configure the clients to show the Username Hint upon logon.
To enable the Allow user name hint Group Policy setting, follow these steps on a
Domain controller:
1. Open the Group Policy Management Console. 2. Right click the domain name and choose Create a GPO in this domain, and Link it here…. 3. Name it something like "Smart card Auth Policy". 4. Right click the policy and choose Edit:
5. Expand Computer Configuration >Policies > Administrative Templates > Windows Components, and then expand Smart Card. 6. Double-click Allow user name hint":
7. Click Enabled and then click OK:
8. Run Gpupdate /force to update group policies on the workstations with smart card readers.
1. Log on to system that has a smart card reader with a user that has an Enrollment Agent certificate. 2. Start certmgr.msc 3. Expand Personal, and then right-click on the Certificates folder. 4. Select All Tasks > Advanced Operations > Enroll on behalf of from the context menu: 5. Click Next. 6. When prompted, browse to the signing certificate for the enrollment agent. Click Next: 7. Select the certificate template you created, and click Next:
1. Log on to system that has a smart card reader with a user that has an Enrollment Agent certificate. 2. Start certmgr.msc 3. Expand Personal, and then right-click on the Certificates folder. 4. Select All Tasks > Advanced Operations > Enroll on behalf of from the context menu:
5. Click Next. 6. When prompted, browse to the signing certificate for the enrollment agent. Click Next:
7. Select the certificate template you created, and click Next:
8. Browse and select the user name (This will be the subject of the smartcard certificate.) Click Enroll:
Ok, so we’ve got a certificate on a smart card; now we have to associate it with the accounts we want the user to be able to use. We first need to export the certificate. You can do this from the client, Active Directory Users and Computers or the Certificate Authority that issued the cert. One way of accomplishing this can be found at the following TechNet article: http://technet.microsoft.com/en-us/library/cc779668(WS.10).aspx
Now that we have the certificate file we can map the certificate to our user’s accounts.
1. Open Active Directory Users and Computers. 2. Click View and select Advanced Features:
3. Navigate to the user account. 4. Right click the user account and choose Name Mappings:
5. Click Add and select the certificate file that was exported. Click Open:
6. Click Ok. 7. Click Ok.
8. Repeat steps 3-7 to add the same certificate file to each additional account that that the user logs on with.
That is all there is to it. Now when that user inserts his smart card, they will have a Username Hints window. The user simply types the name of the account he wants to logon as and the PIN for his smartcard. The added benefit is that the user does not need to know two different passwords. They simply have to know the pin for the smartcard.
Until next time,
- Paul ‘One Cert to Rule Them All’ Fragale
Ned here again. Are you using MS Dynamics CRM? Be sure to check this excellent blog post from our colleagues Jeremy Morlock and Henning Petersen on how CRM uses Service Principal Names and what you need to get it all working:
http://blogs.msdn.com/crm/archive/2009/08/06/configuring-service-principal-names.aspx
It covers the following scenarios, step by step:
Nice work guys!
- Ned 'you SPN me right round' Pyle
Two years ago the AskDS blog was created. A few days later we had our first post. A huge thanks to you for all of your questions, comments, and kind words over the years; we really appreciate them.
Ned 'Chuck E. Cheese' Pyle
KB Articles
971913
You cannot install a Windows Installer package under the Local System context on a Windows XP-based computer that has update KB956572 installed
971383
Data loss occurs when the Winsock "recv" function returns 0 bytes if both the client-side and the server-side applications run on the same computer that is running Windows Server 2003
973839
32-bit applications do not use the Domain Name System (DNS) cache on a computer that is running an x64-based version of Windows Server 2003 or of Windows XP
973840
Description of scripts to use to simplify user account mapping between a UNIX client and a Windows-based server
973836
The DFSR Diagnostics Report shows "sharing violations" events in Windows Server even though the files have already been replicated
972844
You have to re-enter user credentials after you send credentials through the XMLHttpRequest object and view the page in a new tab in Internet Explorer 8