Azure AD/Office 365 seamless sign-in – Implement single sign-on (SSO) with AD FS in Windows Server 2012 R2

Introduction

Microsoft Office 365 provides secure anywhere access to professional email, shared calendars, instant messaging (IM), video conferencing, document collaboration, etc. It represents the cloud version of the Microsoft communication and collaboration products with the latest version of the Microsoft desktop suite for businesses of all sizes.

Azure Active Directory (Azure AD) is the directory behind Office 365 used to store user identities and other tenant properties. Just like the on-premises Active Directory stores the information for Exchange, SharePoint, Lync and your custom Line of Business (LOB) apps, Azure AD stores the information for Exchange Online, SharePoint Online, Skype for Business Online, etc., and any custom applications built in the Microsoft's cloud.

Through the single sign-on feature, Azure AD provides organizations with the ability to authenticate against the organization's Active Directory (or other identity repositories), allowing their users to use their corporate credentials to access Azure AD/Office 365 and the services that they have been provisioned for.

Objectives of this paper

As previously noticed, this document complements the third part entitled Azure AD/Office 365 seamless Single Sign-in – Part 3 by providing an end-to-end walkthrough to rollout a working single sign-on configuration for Azure AD/Office 365 with AD FS.

Non-objectives of this paper

This document doesn't provide a full description of AD FS in Windows Server 2012 R2. It doesn't provide neither guidance for setting up and configuring AD FS in a production environment nor a complete technical reference for AD FS.

Note    For information on AD FS, please refer to the product documentation, and the dedicated AD FS Q&A forum.

It doesn't neither provide an understanding of the different single sign-on deployment options with Azure AD/Office 365, how to enable single sign-on using corporate Active Directory credentials and AD FS to Azure AD/Office 365, and the different configuration elements to be aware of for such deployment. This is specifically the intent of the aforementioned first part that covers all the key aspects the readers should understand to successfully achieve single sign-on with Azure AD/Office 365 for their organization.

Organization of this paper

To cover the aforementioned objectives, this document is organized in the following 3 sections:

  • Setting up base configuration test lab.
  • Setting up single sign-on with the Azure AD/Office 365 tenant.
  • Monitoring your on-premises deployment (Optional).

These sections provide the information details necessary to (hopefully) successfully build a working environment for the scenario. They must be followed in order.

About the audience

Identity federation − also known as (cross-domain) single sign-on − in general is a broad topic, with many facets, depths of understanding, protocols, standards, tokens, etc. This paper addresses the single sign-on topic only from the Azure AD/Office 365 perspective and from both conceptual and technical levels.

This document is thus intended for system architects and IT professionals who are interested in understanding this capability of Azure AD/Office 365 from a hand-practice perspective.

Setting up base configuration test lab

By following the instructions outlined hereafter, you should be able to successfully prepare your on-premises test lab environment based on virtual machines (VMs) running in Azure to later deploy and configure the test environment, install and configure it.

In order to complete the document's walkthrough, you need an environment that consists of the following components for the Azure-based test lab infrastructure:

  • Two computers running Windows Server 2012 R2 (named DC1 respectively DC2 by default) that will be configured as a domain controller with a test user and group accounts, and Domain Name System (DNS) servers. DC1 will host Azure AD Connect for the sync between the Azure-based test lab infrastructure and the Azure AD/Office 365 subscription. Alternatively, DC2 will be configured as an enterprise root certification authority (PKI server),
  • Two intranet member server running Windows Server 2012 R2 (named ADFS1 respectively ADFS2 by default) that will be configured as an AD FS farm.
  • Two Internet-facing member server running Windows Server 2012 R2 (named WAP1 respectively WAP2 by default) that is configured as Web servers for the Web Application Proxy (WAP) farm.

Note     Windows Server 2012 R2 offers businesses and hosting providers a scalable, dynamic, and multitenant-aware infrastructure that is optimized for the cloud. For more information, see the Microsoft TechNet Windows Server 2012 R2 homepage.

If you've already followed the walkthrough of Part 2, all the components that pertains to the above Azure-based test lab infrastructure should already be in place with the six VMs running Windows Server 2012 R2. If you haven't yet conducted this rollout, this is the time to do so.

The rest of this document makes the assumption that such an evaluation environment is in place.

The above Azure VMs will enable you to:

  • Connect to the Internet to install updates, and access Internet resources in real time.
  • Later configure them with Azure AD Connect to finally get a relevant Azure-based test infrastructure.
  • Remotely managed those using a Point-to-Site (P2S) connection and then Remote Desktop (RDP) connections by your computer that is connected to the Internet or your organization network.

Note    You must be logged on as a member of the Domain Admins group or a member of the Administrators group on each computer to complete the tasks described in this guide. If you cannot complete a task while you are logged on with an account that is a member of the Administrators group, try performing the task while you are logged on with an account that is a member of the Domain Admins group.

  • Create snapshots so that you can easily return to a desired configuration for further learning and experimentation.

For illustration purposes, we've opted to configure the domain litware369.com (LITWARE369). You will have to choose in lieu of a domain name of yours. For checking purpose, you can for instance use the domain search capability provided by several popular domain name registrars.

Whenever a reference to litware369.com
is made in a procedure, it has to be replaced by the DNS domain name of your choice to reflect accordingly the change in naming. Likewise, any reference to LITWARE369 should be substituted by the NETBIOS domain name of your choice.

For the sake of simplicity, the same password "Pass@word1!?" is used throughout the procedures detailed in this document. This is neither mandatory nor recommended in a real world scenario.

To perform all the tasks in this guide, we will use the local administrator account AzureAdmin or alternatively the LITWARE369 domain administrator account AzureAdmin for each VM, unless instructed otherwise.

Accessing the various machines of the test lab environment

See eponym section in Part 2 of this whitepaper.

Finalizing the configuration of the domain controllers

To finalize the configuration of the domain controllers in our test lab environment, you will need to create a group Managed Service Account (gSMA).

A gMSA account will be required during the AD FS installation and configuration. The benefit of using a gMSA is its auto-negotiated password update feature.

To create the gMSA account, proceed with the following steps:

  • Open a remote desktop connection on the DC1 computer. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.101" for the DC1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  • Open an elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, and then run the following command to verify whether the KDS Root Key has been created in the LITWARE369 domain to enable gMSA in your domain:
PS C:\> Get-KdsRootKey
  • If it has not been created (the output displays no information), run the following command to create the key:
PS C:\> Add-KdsRootKey –EffectiveTime (Get-Date).AddHours(-10)
Guid
----
99490123-7d38-c01e-05c7-539224fa88ea
PS C:\>
  • Run the following command:
PS C:\> New-ADServiceAccount FsGmsa -DNSHostName adfs.litware369.com -ServicePrincipalNames http/adfs.litware369.com

Configuring the AD FS farm

The AD FS farm is constituted by the ADFS1 and ADFS2 computers along with the internal load balancer.

Deploying the primary federation server in the AD FS farm

This section walks you through the deployment of the primary federation server on the ADFS1 computer with the following steps:

  1. Issuing a SSL/TLS certificate.
  2. Installing and configuring the AD FS role service.
  3. Activating the Device Registration Service (DRS).

Note     For more information, see article Windows Server 2012 R2 AD FS Deployment Guide.

Important note     You must have domain administrator permissions to deploy the AD FS role service.

The following subsections describe each of these steps in the context of our test lab environment.

Issuing a SSL/TLS certificate

The AD FS role service will require a server SSL/TLS certificate. The certificate MUST have the following attributes:

  • Subject Name (CN): adfs.litware369.com
  • Subject Alternative Name (DNS): adfs.litware369.com
  • Subject Alternative Name (DNS): enterpriseregistration.litware369.com

Note     For more information about setting up SSL/TLS certificates, see article Configure SSL/TLS on a Web site in the domain with an Enterprise CA.

To issue the SSL/TLS certificate, proceed with the following steps:

  1. Open a remote desktop connection on the ADFS1 computer. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.201" for the ADFS1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  2. Open an elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, and then run the following command:
PS C:\> Get-Certificate -Template SSLCertificates -SubjectName CN=adfs.litware369.com
`
DnsName adfs.litware369.com, enterpriseregistration.litware369.com -CertStoreLocation cert:\LocalMachine\My<
Status Certificate Request
------ ----------- -------
Issued [Subject]…
PS C:\> _

Note     If you have not configured a new certificate template (e.g. the SSLCertificates in our configuration), you can use the WebServer certificate template in lieu of in the above command.

Note    For more information, see article AD CS Administration Cmdlets in Windows PowerShell.

  1. The SSL/TLS certificate should now be imported into the Local Computer\My Store on the ADFS1 computer. Verify whether the SSL/TLS certificate has been imported by running the following command:
PS C:\> dir Cert:\LocalMachine\My
Directory: Microsoft.PowerShell.Security\Certificate::LocalMachine\My
Thumbprint Subject
---------- -------
FADB4FDF7C5006D45011B5E9DF0C2DA8C624FD2F DC=Windows Azure CRP Certificate Generator
3361995F9929C7269886A9DC276122B493D3C4A5 CN=8848a529-9d69-4049-8469-8218547a61e2
12D5C5C12A4E432061B383ACCBA17241ADE0CE02 DC=Windows Azure CRP Certificate Generator
1FA2AE7473841BAFCB2460735EE3EF4CAE22F6C0 CN=adfs.litware369.com
PS C:\> _

The certificates are listed by their thumbprint in the Local Computer\My Store. We will be later interested in the thumbprint of the newly issued certificate, i.e. the one whose CN equals adfs.litware369.com, for example in our configuration: 1FA2AE7473841BAFCB2460735EE3EF4CAE22F6C0.

  1. Export
    the issued certificate with its private key for later use on the ADFS2 computer:
    1. From the previous elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, and open mmc.exe.
    2. Click File | Add/Remove Snap-in… Select Certificates in Available snap-ins and then click Add. A Certificates snap-in dialog opens up.
    3. Select Computer account, click Next, and then click Finish. Click OK to close the dialog.
    4. Right-click the adfs.litware369.com certificate, click All Tasks, and then click Export. The Certificate Export Wizard opens up.
    5. Click Next, select Yes, export the private key, and then click Next.
    6. On Export File Format, leave Personal Information Exchange – PKCS #12 (.PFX) selected, and then click Next.
    7. On Security, check Password, and type "Pass@word1!?" twice. Then click Next.
    8. On File to Export, browse to the location to which you want to export the SSL/TLS certificate. For File name, name the certificate file, for example "ADFSLitware369" in our configuration. Then click Next.
    9. Click Finish to export the certificate. Click OK to close the dialog.
Installing and configuring the AD FS role service

To install and configure the AD FS role service, proceed with the following steps:

  • From the previous elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, run the following command:
PS C:\> Install-windowsfeature adfs-federation –IncludeManagementTools
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Active Directory Federation Services}
WARNING: To finish configuring this server for the federation server role using Windows PowerShell, see
http://go.microsoft.com/fwlink/?LinkId=224868.
PS C:\> _

  • Run the following commands to create a Windows Internal Database (WID) along with the required gMSA account:
PS C:\> Import-Module ADFS
PS C:\> $certificateThumbprint = (Get-ChildItem cert:\LocalMachine\MY -DnsName "*adfs*" | Select-Object `
-First 1).Thumbprint
PS C:\> Install-AdfsFarm –CertificateThumbprint $certificateThumbprint -FederationServiceDisplayName "Litware369" `
-FederationServiceName "adfs.litware369.com" –GroupServiceAccountIdentifier "LITWARE369\FsGmsa$"
WARNING: The root key for the group Managed Service Account was created at 1/3/2017 9:39:52 AM. If you have more than
one domain controller in your Active Directory forest, the key may not yet have replicated to all domain controllers
and therefore the service may not successfully install or start. To avoid service startup problems, wait 10 hours to
ensure the key has replicated to all DCs before completing the Active Directory Federation Services Configuration
Wizard, executing Install-AdfsFarm or Add-AdfsFarmNode on any other servers in your network, or restarting any AD FS
service.
Message Context Status
------- ------- ------
The configuration completed successf... DeploymentSucceeded Success
PS C:\> _

Important note    The '$' at the end of the gMSA account is required.

Note    If this is NOT the first time you run this command, add OverwriteConfiguration.

Activating the Device Registration Service (DRS)

As discussed in the first part of the whitepaper, the AD Workplace Join capability allows users to join their devices with the organization's workplace to access company resources and services. When a device is joined by Workplace Join, it becomes a known device. Attributes of the device can then be retrieved from AD to drive conditional access to authorize issuance of security tokens for the targeted applications. Windows 8.1, Android 4.0+, and iOS 6+ devices can be joined by using Workplace Join.

Workplace Join is made possible by Device Registration Service (DRS) that is included with AD FS. When a device is joined by Workplace Join, DRS provisions a device object in AD and sets a certificate on the consumer device that is used to represent the device identity. DRS is meant to face both internal and external resources. Organizations that deploy DRS along with WAP can join devices that use Workplace Join from any Internet-connected location.

Note    For more information, see article Join to Workplace from Any Device for SSO and Seamless Second Factor Authentication Across Company Applications.

The DRS capability has to be initialized and enabled on the AD FS farm.

To enable the DRS capability on the ADFS1 computer, proceed with the following steps:

  • From the previous elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, run the following command:
PS C:\> Initialize-ADDeviceRegistration -ServiceAccountName "LITWARE369\FsGmsa$"
  • When prompted for a confirmation, press "Y" to validate.
PS C:\> Initialize-ADDeviceRegistration
This command will prepare Active Directory to host Device Registration Service in the current forest.
Do you want to continue with this operation?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y
WARNING: The Active Directory forest has been prepared for Device Registration. To use the AD FS Device Registration
Service, run the Enable-AdfsDeviceRegistration cmdlet on each node in your AD FS farm.
Message Context Status
------- ------- ------
The configuration completed successf... DeploymentSucceeded Success
PS C:\> _

  • Next, run the following Enable-AdfsDeviceRegistration cmdlet to enable DRS. This should be run on each node in an AD FS farm, for the moment on the ADFS1 computer and later on the ADFS2 computer.
PS C:\> Enable-AdfsDeviceRegistration
Message Context Status
------- ------- ------
The configuration completed successf... DeploymentSucceeded Success
PS C:\> _

You should see a message about device registration being successful.

Note    For more information, see article Step 5: Configure a federation server with Device Registration Service.

Configuring the secondary federation server in the AD FS farm

This section walks you through the deployment of the secondary federation server on the ADFS2 computer with the following steps:

  1. Importing the SSL/TLS certificate issued on ADFS1.
  2. Installing and configuring the AD FS role service for the second node.
  3. Activating the Device Registration Service (DRS).

The following subsections describe each of these steps in the context of our test lab environment.

Importing the SSL/TLS certificate issued on ADFS1

As mentioned earlier, the AD FS role service will require a server SSL/TLS certificate. To import the certificate previously issued on the ADFS1 computer, proceed with the following steps:

  1. Open a remote desktop connection on the ADFS2 computer. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.202" for the ADFS2 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  2. Open a Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt.
  3. Copy the ADFSLitware369.pfx file from the ADFS1 computer to the ADFS2 computer.
  4. Double-click the file. A Certificate Import Wizard opens up.

  1. Select Local Machine and click Next twice.
  2. On Private key protection, type the password, i.e. "Pass@word1!?" in our illustration, and then click Next twice.
  3. Click Finish. Click OK to close the message box that confirms a successful import.
Installing and configuring the AD FS role service for the second node

To install and configure the AD FS role service on the ADFS2 computer, proceed with the following steps:

  • Open an elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, and then run the following command:
PS C:\> Install-windowsfeature adfs-federation –IncludeManagementTools
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Active Directory Federation Services}
WARNING: To finish configuring this server for the federation server role using Windows PowerShell, see
http://go.microsoft.com/fwlink/?LinkId=224868.
PS C:\>
  • Run the following commands to add the ADFS2 computer as node of the existing AD FS farm:
PS C:\> Import-Module ADFS
PS C:\> $certificateThumbprint = (Get-ChildItem cert:\LocalMachine\MY -DnsName "*adfs*" | Select-Object -First 1).Thumbprint
PS C:\> Add-AdfsFarmNode -GroupServiceAccountIdentifier "LITWARE369\FsGmsa$" `
-PrimaryComputerName "adfs1.litware369.com" –CertificateThumbprint $certificateThumbprint
Message Context Status
------- ------- ------
The configuration completed successf... DeploymentSucceeded Success
PS C:\>

Important note    The '$' at the end of the gMSA account is required.

Note    If this is NOT the first time you run this command, add OverwriteConfiguration.

Activating the Device Registration Service (DRS)

As mentioned before, the DRS capability has to be initialized and enabled on the AD FS farm.

To enable the DRS capability on the ADFS2 computer, from the previous elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, run the following command:

PS C:\> Enable-AdfsDeviceRegistration
Message Context Status
------- ------- ------
The configuration completed successf... DeploymentSucceeded Success
PS C:\> _

You should see a message about device registration being successful.

Note    For more information, see article Step 5: Configure a federation server with Device Registration Service.

Testing the AD FS configuration

Depending upon how Internet Explorer is configured you will either be prompted to provide credentials or be automatically signed-in.

Before testing the configuration, if you want to have users be automatically signed-in, you will then need to configure your browser settings to trust the AD FS farms by adding your federation service name (for example in our configuration, https://adfs.liteware369.com) to the browser's local intranet zone. This will enable seamless sign-in using Windows Integrated Authentication (WIA).

To test the AD FS configuration, proceed with the following steps:

  1. Open a remote desktop connection on the ADFS1 computer. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.201" for the ADFS1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  2. Open a Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt.
  3. Start Internet Explorer and select Internet Options on the Tools menu. An Internet Options dialog pops up.
  4. Click the Security tab, select the Local intranet zone, and then click Sites. A Local intranet dialog appears.


  1. In Add this website to the zone, type "https://adfs.litware369.com", and then click Add. You should replace litware369.com by your own domain as already mentioned.
  2. Click Close, and then click OK.

  1. Verify that the security level for the zone is set to the default setting of Medium-low which enables Windows integrated authentication for Intranet zones.
  2. Click OK to close the Internet Options dialog.
  3. Open a browsing session and navigate to the federation service metadata endpoint, for example, in our configuration:

https://adfs.litware369.com/federationmetadata/2007-06/federationmetadata.xml

If in your browser window you can see the federation server metadata without any TLS errors or warnings, your federation server is operational.

  1. You can alternatively navigate to the metadata exchange endpoint, which offers an XML service description:

https://adfs.litware369.com/adfs/services/trust/mex

  1. You can alternatively navigate to the AD FS sign-in page, for example in our configuration:

https://adfs.litware369.com/adfs/ls/idpinitiatedsignon.aspx

This displays the AD FS sign-in page where you can sign in with the domain credentials.

  1. Click Sign in to verify that the user is successfully and seamlessly authenticated thanks to the Windows Integrated Authentication. You shouldn't see any Windows Security dialog if AD FS has been properly configured.

  1. Repeat steps 1 to 12 on the ADFS2 computer (10.0.0.202). Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.

Testing AD FS farm high availability

To test the AD FS farm high availability, shutdown the AD FS federation servers in the AD FS farm one at a time and check that you can still access AD FS with each computer offline: ADFS1 and ADFS2. This will test the failure of losing one of the servers in the internal load balancer.

At this stage, you are now setup with a highly available AD FS solution for all internal users of the LITWARE369 domain. Let's setup the Web Application Proxy (WAP) farm so that the external users have access too.

Configuring the WAP farm

The WAP farm is constituted by the WAP1 and WAP2 computers along with the Internet load balancer.

Configuring the first server in the WAP farm

To prepare the first server in the WAP farm, proceed with the following steps in order:

  1. Updating the HOSTS file.
  2. Issuing a SSL/TLS certificate.
  3. Installing and configuring the Web Server (IIS) role service.
  4. Configuring HTTPS on the default web site.
  5. Deploying the Web Application Proxy (WAP).

The following subsections describe each of these steps in the context of our test lab environment.

Updating the HOSTS file

The WAP servers need to make contact back to the AD FS servers, So, you need to tell the WAP servers how to get to them. The simplest way of doing this consists in editing the local HOSTS file on the WAP1 computer. Keep in mind that we don't have connectivity or the ability to route to the internal IP address, so we need to route to the external IP of the internal load balancer that holds the two AD FS computers ADFS1 and ADFS2.

To update the HOSTS file, proceed with the following steps:

  1. Launch the text editor of your choice, navigate to C:\Windows\System32\drivers\etc and open the HOSTS file.
  2. Add the following line at the end of the file. This will ensure that all communication regarding adfs.litware369.com end up at the internal load balancer (ILB) adfs-lb and are appropriately routed to the AD FS farm.
10.0.0.200       adfs.litware369.com
  1. Save the file and close the editor.
Issuing a SSL/TLS certificate

The default web site will require a server SSL/TLS certificate. The certificate MUST have the following attributes:

  • Subject Name (CN): www.litware369.com
  • Subject Alternative Name (DNS): adfs.litware369.com
  • Subject Alternative Name (DNS): enterpriseregistration.litware369.com
  • Subject Alternative Name (DNS): www.litware369.com

For demonstration purpose, you can issue such a SSL/TLS certificate with the test lab certification authority litware369-DC2-CA as illustrated hereafter.

You can instead use a SSL/TLS certificate issued from a public certification authority is required. The exact method depends on the chosen public certification authority. Please refer to their instructions.

With the exception of the SSL/TLS certificate import into the Local Computer\My Store on the WAP1 computer, the rest of the suggested configuration doesn't differ from the one illustrated in this document.

To issue the SSL/TLS certificate with the test lab certification authority, proceed with the following steps:

  1. Open a remote desktop connection on the WAP1 computer. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.1.101" for the WAP1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  2. Open a Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, and then run the following command:
PS C:\> Get-Certificate -Template SSLCertificates -SubjectName CN=www.litware369.comDnsName adfs.litware369.com, enterpriseregistration.litware369.com, www.litware369.com -CertStoreLocation cert:\LocalMachine\My
Status Certificate Request
------ ----------- -------
Issued [Subject]…
PS C:\> _

Note     If you haven't previously configured a new certificate template (e.g. the SSLCertificates in our configuration), you can use the WebServer certificate template in lieu of in the above command.

  1. Export
    the issued certificate with its private key for later use on the WAP2 computer:
    1. From the previous elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, and open mmc.exe.
    2. Click File | Add/Remove Snap-in… Select Certificates in Available snap-ins and then click Add. A Certificates snap-in dialog opens up.
    3. Select Computer account, click Next, and then click Finish. Click OK to close the dialog.
    4. Right-click the www.litware369.com certificate, click All Tasks, and then click Export. The Certificate Export Wizard opens up.
    5. Click Next, select Yes, export the private key, and then click Next.
    6. On Export File Format, leave Personal Information Exchange – PKCS #12 (.PFX) selected, and then click Next.
    7. On Security, check Password, and type "Pass@word1!?" twice. Then click Next.
    8. On File to Export, browse to the location to which you want to export the SSL/TLS certificate. For File name, name the certificate file, for example "WAPLitware369" in our configuration. Then click Next.
    9. Click Finish to export the certificate. Click OK to close the dialog.
Installing and configuring the Web Server (IIS) role service

To install the Web Server (IIS) role service on the WAP1 computer, from the previous Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt, run the following command:

PS C:\> Install-windowsfeature web-server –IncludeManagementTools
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {Common HTTP Features, Default Document, D...
PS C:\> _
Configuring HTTPS on the default web site

To configure HTTPS on the default web site, proceed with the following steps:

  • Open an elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt if none, and run the following command to add a SSL/TLS binding to the default web Site:
PS C:\> New-WebBinding -Name "Default Web Site" -IP "*" -Port 443 -Protocol https
  • Run the following commands to associate the imported SSL/TLS certificate to the newly created SSL/TLS binding:
PS C:\> Get-ChildItem cert:\LocalMachine\MY | where { $_.Subject -match "CN\=www.litware369.com" } | select -First 1 | New-Item IIS:\SslBindings\0.0.0.0!443
IP Address Port Host Name Store Sites
---------- ---- --------- ----- -----
0.0.0.0 443 MY Default Web Site
PS C:\> _

Deploying the Web Application Proxy (WAP)

The Web Application Proxy (WAP) is the proxy for AD FS in Windows Server 2012 R2.

Note    For more information, see the article Web Application Proxy Overview as well as the section Deploying Federation Server Proxies of the Windows Server 2012 R2 AD FS Deployment Guide also available on Microsoft TechNet.

To install and configure the Web Application Proxy role service, proceed with the following steps:

  • Open an elevated Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt if none, and run the following command:
PS C:\> Install-WindowsFeature Web-Application-Proxy –IncludeManagementTools
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {RAS Connection Manager Administration Kit...
WARNING: To finish configuring this server for the Web Application Proxy role service using Windows PowerShell, see
http://go.microsoft.com/fwlink/?LinkId=294322.
PS C:\> _

  • Run the following commands to set the credential of the LITWARE369\AzureAdmin user:
PS C:\> $domain = "litware369.com"
PS C:\> $password = "Pass@word1!?" | ConvertTo-SecureString -asPlainText -Force
PS C:\> $username = "$domain\AzureAdmin"
PS C:\> $credential = New-Object System.Management.Automation.PSCredential($username,$password)
  • Run the following commands to install and configure the Web Application Proxy (WAP):
PS C:\> $certificateThumbprint = (Get-ChildItem cert:\LocalMachine\MY -DnsName "*adfs*" | Select-Object -First 1).Thumbprint
PS C:\> Install-WebApplicationProxy -FederationServiceTrustCredential $credential -CertificateThumbprint $certificateThumbprint -FederationServiceName "adfs.litware369.com"
Message Context Status
------- ------- ------
The configuration completed successf... DeploymentSucceeded Success
PS C:\> _

Note    For more information, see article Web Application Proxy Cmdlets.

Configuring the second server in the WAP farm

This section walks you through the deployment of the web application proxy on the WAP2 computer with the following steps:

  1. Importing the SSL/TLS certificate issued on WAP1.
  2. Installing and configuring the Web Server (IIS) role service.
  3. Configuring HTTPS on the default web site.
  4. Deploying the Web Application Proxy (WAP).

The following subsections describe each of these steps in the context of our test lab environment.

Importing the SSL/TLS certificate issued on WAP1

As mentioned earlier, the Web Application proxy (WAP) role service will require a server SSL/TLS certificate. To import the certificate previously issued on the WAP1 computer, proceed with the following steps:

  1. Open a remote desktop connection on the WAP2 computer. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.201" for the WAP2 computer. Log on as the local administrator account AzureAdmin with "Pass@word1!?" as password.
  2. Open a Windows PowerShell or PowerShell Integrated Scripting Environment (ISE) prompt.
  3. Copy the WAPLitware369.pfx file from the ADFS1 computer to the ADFS2 computer.
  4. Double-click the file. A Certificate Import Wizard opens up.

  1. Select Local Machine and click Next twice.
  2. On Private key protection, type the password, i.e. "Pass@word1!?" in our illustration, and then click Next twice.
  3. Click Finish. Click OK to close the message box that confirms a successful import.
Installing and configuring the Web Server (IIS) role service

To install and configure the Web Server (IIS) role service on the WAP2 computer, proceed as per eponym section § Installing and configuring the Web Server (IIS) role service for the WAP1 computer.

Configuring HTTPS on the default web site

To configure HTTPS on the default web site on the WAP2 computer, proceed as per eponym section § Configuring HTTPS on the default web site for the WAP1 computer.

Deploying the Web Application Proxy (WAP)

To deploy the Web Application Proxy (WAP) on the WAP2 computer, proceed as per eponym section § Deploying the Web Application Proxy (WAP) for the WAP1 computer.

Optimizing congestion control settings between the WAP and AD FS farms (Optional)

The Internet facing WAP farm is able to throttle requests coming from the Internet if the latency between the WAP farm and the AD FS farm increases beyond a certain threshold. Based on this feature, the WAP farm will reject external client authentication requests if the AD FS farm is overloaded as detected by the latency between the WAP farm and the AD FS farm to service authentication requests from Azure AD/Office 365.

It is closely related to a similar algorithm employed for congestion control in TCP known as Additive Increase Multiplicative Decrease (AIMD). The implemented solution works by using a congestion window represented by a pool of tokens that it leases out to each incoming request to the WAP farm.

In a high latency DMZ network or a highly loaded WAP environment, it is possible for authentication requests to be rejected even if the AD FS farm can satisfy these requests successfully based on the default settings that control this algorithm.

In such an environment, we strongly recommend modifying the settings to be less aggressive by performing the following steps:

  1. On the WAP1 and WAP2 computer, start an elevated command prompt.
  2. Navigate to the ADFS directory located at %windir%\ADFS\Config.
  3. Open the file microsoft.identityServer.proxyservice.exe.config with the editor of your choice.
  4. Scroll down to the microsoft.IdentityServer.proxyservice element.
  5. Change the congestion control settings from its default values to the following element:
<congestionControl latencyThresholdInMSec="8000" minCongestionWindowSize="64" enabled="true" />
  1. Save and close the file.
    1. Restart the AD FS service by running in order the following commands:
C:\> net stop adfssrv
C:\> net start adfssrv

Testing the WAP configuration

To verify that you can successfully authenticate against the federation server on the Internet, proceed with the following steps:

  1. Open a browsing session on your external local computer and navigate on Internet to https://adfs.litware369.com/adfs/ls/IdpInitiatedSignOn.aspx.

Note    If the SSL/TLS certificate used in the configuration has not been issued by a public certification authority, you will need to add the test lab certification authority Litware369-DC2-CA root certificate in the trusted root certification authorities of your local computer.

As before, this displays the AD FS sign-in page where you can sign in with the domain credentials.

  1. Click SignIn to verify that you can successfully be authenticated.

  1. Log on as the LIWARE369\JanetS with "Pass@word1!?" as password.

  1. Click Sign Out.

Testing WAP farm high availability

To test the WAP farm high availability, shutdown the WAP servers in the WAP farm one at a time and check that you can still access the above AD FS IdpInitiatedSignOn.aspx page with each computer offline: WAP1 and WAP2. This will test the failure of losing one of the servers in the Internet load balancer.

At this stage, the base configuration is now complete.

To avoid spending your credit when you don't work on the test lab environment, you can shut down the six VMs (DC1, DC2, ADFS1, ADFS2, WAP1, and WAP2) when you don't work on the test lab.

To shut down the VMs of the test lab environment, proceed with the following steps:

  1. Open a browsing session and navigate to the Azure portal at https://portal.azure.com.
  2. Sign in with your administrative credentials to your Azure subscription in which you've deployed the test lab environment.
  3. On the left pane of the Azure portal, click virtual machines.

  1. On the virtual machine page, select wap1. A new blade opens up.

  1. Click Stop. A dialog pops up.
  2. Click Yes to confirm the shutdown.
  3. Repeat steps 4 to 6 with wap2, adfs2, adfs1, dc2, and then dc1.

To resume working on the test lab environment, you will then need to start the six VMs that constitute it.

To start the VMs of the test lab environment, proceed with the following steps:

  1. From the Azure portal, click virtual machines.
  2. On the virtual machine page, select dc1. A new blade opens up.
  3. Click Start.

  1. Repeat steps 2 to 3 with dc2, adfs1, adfs2, wap1, and then wap2.

Setting up single sign-on with the Azure AD/Office 365 tenant

This section provides a walkthrough on how to setup single sign-on between the on-premises Active Directory (e.g. litware369.com) and the Azure AD/Office 365 tenant (e.g. litware369.onmicrosoft.com) to offer a seamless user experience to access cloud resources, for example an Office 365 Enterprise E3 subscription in our configuration.

For the sake of simplicity, and to set up the directory synchronization and the federation between the on-premises infrastructure of our test lab environment in Azure and the litware369.onmicrosoft.com tenant in the cloud, we will leverage the single and unified wizard Azure Active Directory Connect (Azure AD Connect).

Azure AD Connect indeed provides a single and unified wizard that streamlines the overall onboarding process for both directory synchronization (single or multiple directories) AND single sign-on if you want to, and thus that automatically performs the following steps: download and setup of all the pre-requisites, download, setup and guided configuration of the synchronization engine, activation of the synchronization in the Azure AD tenant, setup, and/or configuration of AD FS, etc.

Azure AD Connect is the one stop shop for connecting your on-premises directories to Azure AD, whether you are evaluating, piloting, or in production.

Note    For more information, see articles Integrating your on-premises identities with Azure Active Directory.

This section walks you through the use of the single wizard Azure AD Connect on the ADFS1 computer to fully configure the Azure-based infrastructure from an identity perspective and establish the identity bridge between it and your Azure AD/Office 365 subscription.

It comprises the following five steps:

  1. Downloading Azure AD Connect.
  2. Executing Azure AD Connect.
  3. Configuring additional tasks.
  4. Verifying the synchronization on the Azure AD/Office 365 tenant.
  5. Verifying the single sign-on with the Azure AD/Office 365 tenant.

The following subsections describe each of these steps in the context of our test lab environment.

Downloading Azure AD Connect

Azure AD Connect is a single wizard that performs all the steps you would otherwise have to do manually to connect your Active Directory (and local directories if any) to Azure AD.

Azure AD Connect will:

Note    The Azure Active Directory PowerShell Module is regularly updated with new features and functionality. The above link should always point to the most current version of the module. For more information, see article Microsoft Azure Active Directory PowerShell Module Version Release History.

  • Install and configure the sync engine, and enable directory synchronization in the customer's Azure tenant.
  • Configures either password sync (w/ optional seamless single sign-on), path-through authentication (w/ optional seamless single sign-on), or AD FS, depending on which sign-on option the customer prefers, and includes any required configuration in Azure.
  • Verifies everything is working.

Azure AD Connect is the best way to connect your on-premises directory with Azure AD and Office 365. Azure AD Connect is replacing DirSync and Azure AD Sync and these two older sync engines are deprecated from April 13, 2016 reaching end of support April 13,2017. 

Note    For more information, see articles
Upgrade Windows Azure Active Directory Sync ("DirSync") and Azure Active Directory Sync ("Azure AD Sync").

To download the latest version of Azure AD Connect (e.g. version 1.1.380.0 at the time of this writing), proceed with the following steps:

  • Open a remote desktop connection on the DC1 computer. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.101" for the DC1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  • Open a browsing session and navigate to:

    http://www.microsoft.com/en-us/download/details.aspx?id=47594.

  • Click Download to download the Azure AD Connect MSI file (AzureADConnect.msi).

  • Click Save.

Executing Azure AD Connect

Before executing Azure AD Connect, you must know the credentials:

  • A domain account that is local administrator on the aforementioned computers.
  • Active Directory enterprise administrator credentials.
  • Azure AD tenant global administrator credentials.

If you've followed in order all the steps outlined before, all the above prerequisites should be enforced at this stage. So you should be good to go.

To execute Azure AD Connect and configure your identity infrastructure, proceed with the following steps:

  • Open a remote desktop connection on the DC1 computer that will be also your sync server. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.101" for the DC1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  • Run AzureADConnect.msi to launch the wizard.

  • On the Welcome to Azure AD Connect page, check I agree to the license terms and privacy notice and click Continue.

  • On the Express Settings page, click Customize.

  • On the Install required components page, review the information, select any optional configuration that you require, although it's okay to leave these unselected, and click Install.

  • On the User sign-in page, select Federation with AD FS.

  • Click Next.

  • On the Connect to Azure AD page, enter your global admin Azure AD credentials when prompted.

Username: admin@litware369.onmicrosoft.com

Password: Pass@word1!?

Click Next.

  • On the Connect your directories page, select your local active directory and enter AD credentials.

Username: LIWARE369\AzureAdmin

Password: Pass@word1!?

Click Add Directory.

  • Click Next.

  • On the Azure AD sign-in configuration page, leave USER PRINCIPAL NAME as is, i.e. userPrincipalName selected, and click Next.

  • On the Domain and OU filtering page, leave Sync all domains and OUs selected, and click Next.

  • On the Uniquely identifying your users page, leave Users are represented only once across all directories selected, leave SOURCE ANCHOR as is, i.e. objectGUID selected, and click Next.

  • On the Filter users and devices page, leave Synchronize all users and devices selected, and then click Next.

  • On the Optional features page, select any additional features that you need, although it's okay to leave these unselected, and then click Next.

  • On the AD FS Farm page, select Use an existing Windows Server 2012 R2 AD FS Farm.

  • In SERVER NAME, type "ADFS1", and then click Next.

  • On the Domain Administrator credentials page, type "LITWARE369\AzureAdmin" in USERNAME, "Pass@word1!?" in PASSWORD, and click Next.

  • On the Domain Administrator credentials page, select litware369.com in DOMAIN.

  • Click Next.

  • On the Ready to configure page, leave checked Start the synchronization process as soon as the configuration completes for starting the synchronization process.

Note    You may assume the synchronization process will automatically start at a later time if the check mark is removed. This is not correct as you will need to enable the task in Scheduled Tasks on the server where the synchronization tool is installed. After the task is enabled, synchronization occurs every 30 minutes by default.

  • Click Install. When installation completes, verify the installation and then exit.

Note    Logs regarding the Azure AD Connect installation can be found in the %LocalAppData%\AADCONNECT folder.

  • Click Next.

  • Click Verify.

  • Click Exit.

Configuring additional tasks

You may wish to add scale or refine your options right away, or after some time has passed.

To configure additional task, proceed with the following steps:

  • Whilst still being connected on the DC1 computer, launch the wizard again using the Start page or the desktop icon called Azure AD Connect.

  • Click Configure.

  • The Optional features page lists the tasks that are relevant to your configuration. Select the relevant task to your configuration you'd like to conduct, click Next, and follow the instructions.
  • Once completed, click Exit.

Let's see how to verify the synchronization on the Azure AD/Office 365 tenant.

Verifying the synchronization on the Azure AD/Office 365 tenant

To verify the synchronization on the Azure AD tenant, proceed with the following steps:

  1. Open a browsing session and navigate to the Azure portal at https://portal.azure.com.
  2. Sign in with your administrative credentials to your Azure subscription.
  3. On the left pane of the Azure management portal, click Azure Active Directory. A Litware369 blade opens up.

Note    If Azure Active Directory is not listed, click More Services, type "Azure", and the select Azure Active Directory.

  1. In the Quick tasks tile, click Find a user. A Users and groups – All Users blade opens up.
  2. Confirm that both Janet Schorr and Robert Hatley are listed.

Verifying the single sign-on with the Azure AD/Office 365 tenant

To verify the single sign-on with the Azure AD/Office 365 tenant (e.g. litware369.onmicrosoft.com), proceed with the following steps:

  1. Open a browsing session from your external local computer and navigate to the Office 365 portal at https://portal.office.com.

  1. Type janets@litware369.com and press ENTER. This triggers a home realm discovery (HRD) process for federated identities to see if the domain part of the username is federated.

Note
    If you turn on HTTP tracing on IE or observe the traffic via a tool like the Telerik Fiddler HTTP trace application, you can see that the login.microsoftonline.com URL is calling GetUserRealm as part of the home realm discovery (HRD) process. You will also notice that their results show the AD FS endpoint information.

If single sign-on is correctly set up, you should be automatically redirected to the AD FS farm, and then redirected back to the Office portal where you're first invited to provide more information.

At the end of the process, you should have a seamless access to the signed in user settings in the Office 365 portal.

No tiles are displayed for the online apps. This is expected for the test user as in fact you have not assigned a license to the test user.

You are now in a position to further test the environment.

Monitoring your on-premises deployment (Optional)

This last section of this document provides and introduction to Azure Active Directory Connect Health (Azure AD Connect Health). This cloud based service in thenew Azure Portal helps you monitor and gain insight into health, performance and login activity of your on-premises identity infrastructure. It thus offers you the ability to view alerts, performance, usage patterns, configuration settings, enables you to maintain a reliable Azure AD connection, and much more.

Azure AD Connect Health represents a key part of our effort to help you monitor and secure your cloud and on-premises identity infrastructure.

Note    For more information, see article Monitor your on-premises identity infrastructure and synchronization services in the cloud.

Note    Azure AD Connect Health is a feature of the Azure AD Premium P1 edition. For a description of this edition below and a comparison table, see article Azure Active Directory editions.

This section walks you through the process of configuring this service for your existing on-premises deployment as per this document. The process consists in the following five steps:

  1. Getting started with the Azure AD Connect Health service.
  2. Configuring Azure AD Connect Health for Sync.
  3. Configuring Azure AD Connect Health for AD FS.
  4. Configuring Azure AD Connect Health for AD DS.
  5. Using the Azure AD Connect Health service.

The following subsections describe in the context of our test lab environment each of these steps.

Like before, and unless noticed otherwise, all the instructions should be done on the ADFS1 computer.

Getting started with the Azure AD Connect Health service

To get started with and use the Azure AD Connect Health service, proceed with the following tasks:

  • Sign in when prompted with your Azure AD/Office 365 Enterprise global administrator account such as:

Username: admin@litware369.onmicrosoft.com

Password: Pass@word1!?

Click Next.

  • Click the Marketplace tile, and then select Security + Identity, or search for it by typing "Identity".

  • Under recommended, click Azure AD Connect Health. An introductory blade opens up.

  • Click Create. This will open another blade with your directory information.

  • Click Create.

Note    If you do not have an Azure Active Directory Premium P1 license, you will need one to use Azure AD Connect Health as previously noticed. See article What is Microsoft Azure Active Directory licensing?. You can sign-up for a trial at https://portal.office.com/Signup/Signup.aspx?OfferId=01824d11-5ad8-447f-8523-666b0848b381.

Once created, you can now access the Azure AD Connect Health Portal that allows you to view alerts, performance monitoring, and usage analytics. Upon first accessing Azure AD Connect Health, a first blade is presented.

In order to see any data in your instance of Azure AD Connect Health, you will need to install the Azure AD Connect Health agents on your targeted servers, for example the six computers in our configuration. This is the purpose of the next sections.

Configuring Azure AD Connect Health for Sync

The Azure AD Connect Health agent for Sync is installed as part of the Azure AD Connect installation (version 1.0.9125.0 or higher). So this is already completed with our prior installation and configuration of Azure AD Connect (version 1.1.380.0 in our configuration). See section § Integrating your on-premises AD forest(s) with your Azure AD/Office 365 tenant.

To verify the agent has been installed, look for the following services on the DC1 computer. If you completed the configuration, they should already be running:

  • Azure AD Connect Health Sync Insights Service.
  • Azure AD Connect Health Sync Monitoring Service.

Note    For more information, see article Azure AD Connect Health Agent Installation.

Configuring Azure AD Connect Health for AD FS

Downloading the health agent for AD FS

To download the latest version of health agent for AD FS, proceed with the following steps:

  • Open a remote desktop connection on the ADFS1 computer that will be also your sync server. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.201" for the ADFS1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  • Open a browsing session and navigate to the Azure AD Connect Health portal.
  • Click the Quick Start tile. An eponym Quick Start blade opens up.

  • Under Get tools, click Download Azure AD Connect Health for AD FS to download the health agent (AdHealthAdfsAgentSetup.exe).

  • Click Save.
  • Repeat all above steps on the ADFS2, WAP1 and WAP2 computers.

Enabling auditing for AD FS

In order to gather data and analyze, the health agent for AD FS needs the information in the AD FS Audit Logs. These logs are not enabled by default.

Note    This only applies to the AD FS farm, for example the ADFS1 and ADFS2 computers in our configuration. You do not need to enable auditing on WAP farm, i.e. the WAP1 and WAP2 computers in our configuration.

To enable AD FS auditing and locate the AD FS audit logs, proceed with the following steps:

  1. Open a remote desktop connection on the ADFS1 computer that will be also your sync server. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.201" for the ADFS1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  1. Open Server Manager on the Start screen, or Server Manager in the taskbar on the Desktop.
  2. In Server Manager, click Tools, and then select Local Security Policy. An eponym window Local Security Policy opens up.

  1. Navigate to the Security Settings\Local Policies\User Rights Assignment folder, and then double-click Generate security audits.

  1. On the Local Security Setting tab, verify that the AD FS service account NT SERVICE\adfssrv is listed. If it is not present, click Add User or Group and add it to the list, and then click OK.
  2. Close Local Security Policy.
  3. Open a command prompt with elevated privileges and run the following command to enable auditing:
PS C:\> auditpol.exe /set /subcategory:"Application Generated" /failure:enable /success:enable

  1. In Server Manager, click Tools, and then select AD FS Management in order to open the AD FS Management snap-in.
  2. In the Actions pane, click Edit Federation Service Properties.
  3. In the Federation Service Properties dialog box, click the Events tab.
  4. Select the Success audits and Failure audits check boxes.

Click OK.

  1. Close the AD FS Management snap-in.
    1. In Server Manager, click Tools, and then select Event Viewer. An eponym window Event Viewer opens up.
    2. Navigate to Windows Logs and select Security.

  1. On the right, click Filter Current Log... A Filter Current Log dialog opens up.
  2. Under Event Source, select AD FS Auditing.

  1. Click OK and close the Event Viewer.
  2. Repeat all above steps on the ADFS2 computer.

You're ready to install and configure the Azure AD Connect Health agents on the AD FS and WAP farms.

Installing and configuring the health agent for AD FS

Before installing the health agents on your targeted servers, you must ensure that you've prior completed all the related requirements. If you've strictly followed in order the instructions provided as part of this document, you should normally fulfill all of them.

To install and configure the Azure AD Connect Health Agent, proceed with the following steps:

  1. Open a remote desktop connection on the ADFS1 computer that will be also your sync server. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.201" for the ADFS1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  2. Double-click the AdHealthAdfsAgentSetup.exe file that you've previously downloaded. The Azure Active Directory Connect Health Setup dialog shows up.

  1. On the first screen, read the EULA, and then click Install.

  1. Once the installation is finished, click Configure Now. A command prompt with elevated privileges opens up.

As stated, an elevated PowerShell command prompt is then launched to execute the following command while the initial command prompt closes:

Register-AzureADConnectHealthADFSAgent

  1. A Sign in to your account dialog opens up.

  1. Type "admin@litware369.onmicrosoft.com" for your Azure AD/Office 365 Enterprise global administrator and click Continue.

  1. Enter the password of the admin@litware369.onmicrosoft.com user, e.g. "Pass@word1!?" in our configuration, and then click Sign in. The health agent registration process starts.
Executing Elevated PowerShell Command: Register-AzureADConnectHealthADFSAgent
2017-01-05 11:44:19.753 ProductName: Azure AD Connect Health AD FS Agent, FileVersion: 2.6.491.0, Current UTC Time: 201
7-01-05 11:44:19Z
2017-01-05 11:44:19.787 AHealthServiceUri (ARM): https://management.azure.com/providers/Microsoft.ADHybridHealthService/
2017-01-05 11:44:19.8 AdHybridHealthServiceUri: https://s1.adhybridhealth.azure.com/
2017-01-05 11:44:20.692 AHealthServiceApiVersion: 2014-01-01
2017-01-05 11:46:08.255 Detecting AdFederationService roles...
2017-01-05 11:46:08.395 Detected the following role(s) for adfs.litware369.com:
2017-01-05 11:46:08.395 AD FS 2012 R2 Federation Server
2017-01-05 11:46:10.83 Aquiring Monitoring Service certificate using tenant.cert
2017-01-05 11:46:14.047 Successfully aquired and stored Monitoring Service certificate: Subject=CN=ADFS1, CN=2971a9f9-454c-4be2-9b86-5b3513ecb22e, OU=Microsoft ADFS Agent, Issuer=CN=Microsoft PolicyKeyService Certificate Authority, Thumbprint=36F02B42A25D4BF0B6DD326FD9CDF7868A88124D
2017-01-05 11:46:14.066 Fetched and stored agent credentials successfully...
2017-01-05 11:46:17.645 Started agent services successfully...
Test-AzureADConnectHealthConnectivity completed successfully...
WARNING: 2017-01-05 11:46:29.343 Agent registration completed with warning(s).
WARNING: 2017-01-05 11:46:29.343 Log file
C:\Users\AzureAdmin.LITWARE369\AppData\Local\Temp\2\AdHealthAdfsAgentConfiguration.2017-01-05_11-44-19.log contains
more information regarding the warning(s).
To review installation steps and requirements, please visit:
http://go.microsoft.com/fwlink/?LinkID=518643
Detailed log file created in temporary directory:
C:\Users\AzureAdmin.LITWARE369\AppData\Local\Temp\2\AdHealthAdfsAgentConfiguration.2017-01-05_11-44-19.log
To retry configuration, type:
Register-AzureADConnectHealthADFSAgent
Detailed log file created in temporary directory:
C:\Users\AzureAdmin.LITWARE369\AppData\Local\Temp\2\AdHealthAdfsAgentConfiguration.2017-01-05_11-44-19.log
PS C:\Users\AzureAdmin.LITWARE369\Downloads> _
  1. Upon successful completion, close the command prompt.
  2. To verify the agent has been successfully installed and configured, click Tools in Server Manager, and then select Services. An eponym window Services opens up.

  1. Look for the following services:
    1. Azure AD Connect Health AD FS Diagnostic Agent.
    2. Azure AD Connect Health AD FS Insights Service.
    3. Azure AD Connect Health AD FS Monitoring Service.

These services should be started automatically and the agent will be now monitoring and gathering data.

  1. Repeat all above steps on the ADFS2, WAP1 and WAP2 computers.

Note    For more information, see article Azure AD Connect Health Agent Installation.

Configuring Azure AD Connect Health for AD DS

Downloading the health agent for AD DS

To download the latest version of health agent for AD DS, proceed with the following steps:

  • Open a remote desktop connection on the DC1 computer that will be also your sync server. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.101" for the DC1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  • Open a browsing session and navigate to the Azure AD Connect Health portal.
  • Click the Quick Start tile. An eponym Quick Start blade opens up.
  • Under Get tools, click Download Azure AD Connect Health for AD DS to download the health agent (AdHealthAddsAgentSetup.exe)

  • Click Save.
  • Repeat above steps on the DC2 computer.

Installing and configuring the health agent for AD DS

To download the latest version of health agent for AD DS, proceed with the following steps:

  • Open a remote desktop connection on the DC1 computer that will be also your sync server. Follow the instructions as per section § Accessing the various machines of the test lab environment and specify in step 2 "10.0.0.101" for the DC1 computer. Log on as the LITWARE369 domain administrator account AzureAdmin with "Pass@word1!?" as password.
  • Double-click the AdHealthAddsAgentSetup.exe file you've downloaded in the previous section. A dialog pops up.
  • The Azure Active Directory Connect Health Setup dialog shows up.

  • On the first screen, read the EULA, and then click Install. The install begins.

  • Once the installation is finished, click Configure Now. A command prompt with elevated privileges opens up.

As stated, an elevated PowerShell command prompt is then launched to execute the following command while the initial command prompt closes:

Register-AzureADConnectHealthADDSAgent

  • A Sign in to your account dialog opens up.

  • Type "admin@litware369.onmicrosoft.com" for your Azure AD/Office 365 Enterprise global administrator and click Continue.

  • Enter the password of the admin@litware369.onmicrosoft.com user, e.g. "Pass@word1!?" in our configuration, and then click Sign in. The health agent registration process starts.
Executing Elevated PowerShell Command: Register-AzureADConnectHealthADDSAgent
2017-01-05 10:37:00.735 ProductName: Microsoft Azure AD Connect Health agent for AD DS, FileVersion:
UTC Time: 2017-01-05 10:37:00Z
2017-01-05 10:37:00.893 AHealthServiceUri (ARM): https://management.azure.com/providers/Microsoft.ADH/
2017-01-05 10:37:00.893 AdHybridHealthServiceUri: https://adds.aadconnecthealth.azure.com/
2017-01-05 10:37:03.098 AHealthServiceApiVersion: 2014-01-01
2017-01-05 10:43:28.828 Detecting AdDomainService roles...
2017-01-05 10:43:29.562 Detected the following role(s) for litware369.com:
2017-01-05 10:43:29.562 Active Directory Domain Services
2017-01-05 10:43:34.915 Aquiring Monitoring Service certificate using tenant.cert
2017-01-05 10:43:42.506 Successfully aquired and stored Monitoring Service certificate: Subject=CN=DC
c-4be2-9b86-5b3513ecb22e, OU=Microsoft ADFS Agent, Issuer=CN=Microsoft PolicyKeyService Certificate A
nt=25E0F7EE2D344DF31888B7E223795DFD29D4DFBF
2017-01-05 10:43:42.521 Fetched and stored agent credentials successfully...
2017-01-05 10:43:44.432 Started agent services successfully...
Test-AzureADConnectHealthConnectivity completed successfully...
2017-01-05 10:44:02.807 Agent registration completed successfully.
Detailed log file created in temporary directory:
C:\Users\AzureAdmin.LITWARE369\AppData\Local\Temp\2\AdHealthAddsAgentConfiguration.2017-01-05_10-37-00.log
PS C:\Users\AzureAdmin.LITWARE369\Downloads>
  • To verify the agent has been successfully installed and configured, click Tools in Server Manager, and then select Services. An eponym window Services opens up.
  • Look for the following services:
  1. Azure AD Connect Health AD DS Insights Service.
  2. Azure AD Connect Health AD DS Monitoring Service.

These services should be started automatically and the agent will be now monitoring and gathering data.

  • Repeat above steps on the DC2 computer.

Note    For more information, see article Azure AD Connect Health Agent Installation.

At this stage, you should now be in position to monitor your on-premises deployment.

Using the Azure AD Connect Health service

To now use the Azure AD Connect Health service, proceed with the following tasks:

  • Sign in when prompted with your Azure AD/Office 365 Enterprise global administrator account such as:

Username: admin@litware369.onmicrosoft.com

Password: Pass@word1!?

  • Select Azure AD Connect Health. An introductory blade opens up.

  • Click Active Directory Federation Services. A new blade opens up with information about that services instance.
  • Click adfs.litware369.com. Another blade opens up.

  • You can start investigating the issues you may have if any like illustrated here with a missing QFE.

  • Close these blades to go back to the introductory blade of Azure AD Connect Health.
  • Click Azure Active Directory Connect (Sync). An eponym blade opens up. Synchronization should appear as healthy.

  • Back to introductory blade of Azure AD Connect Health, finally click Active Directory Domain services. A new blade opens up for AD DS as you might expect.

Note    For more information on the various health topics (alerts, performance monitoring, usage analytics, properties, etc.), see articles Azure AD Connect Health Operations, Using Azure AD Connect Health for sync, Using Azure AD Connect Health with AD FS, and Using Azure AD Connect Health with AD DS.