<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>PlatformsPFE</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/platformspfe/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/platformspfe/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 05 Apr 2017 14:55:40 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Part 9 - Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-9-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Wed, 28 Oct 2015 09:23:00 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2015/10/28/part-9-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 9 and the final part of a multi-part series on how to deploy a complete end-to-end...]]></description>
      <content:encoded><![CDATA[<p>This is Part 9 and the final part of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2&#39;s AD FS role and the Web Application Proxy. In this part&nbsp;I configure SharePoint 2013 to accept claims, I will create a test user in CONTOSO and FABRIKAM, and I will test the federated Web SSO process from both directions.</p>
<p>In case you missed it:</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a>&nbsp;- Overview</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services</p>
<p>Here is<a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4-windows-server-2012-r2-ad-fs-federated-web-sso.aspx"> Part 4a</a> - Installing CONTOSO&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 4b</a> - Installing FABRIKAM&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/25/part-5-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5a</a> - Installing CONTOSO&#39;s AD FS Services</p>
<p>Here is <a href="/b/platformspfe/archive/2014/09/25/part-5b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5b</a> - Installing FABRIKAM&#39;s AD FS Services</p>
<p>Here is <a href="/b/platformspfe/archive/2015/02/16/part-6-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 6a</a> - Installing CONTOSO&#39;s Web Application Proxies</p>
<p>Here is <a href="/b/platformspfe/archive/2015/10/26/part-6b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 6b</a> - Installing FABRIKAM&#39;s Web Application Proxies</p>
<p>Here is <a href="/b/platformspfe/archive/2015/10/27/part-7-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 7</a> - Installing External DNS and Workstations</p>
<p>Here is <a href="/b/platformspfe/archive/2015/10/28/part-8-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 8</a> - Creating the circle of trust</p>
<p><strong>Topology</strong></p>
<p><span style="color:#000000;">The following topology highlights in yellow the servers and workstations that will be used in this post. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4705.ADFSTopology-Complete.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4705.ADFSTopology_2D00_Complete.png">here</a></span></p>
<p><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/SharePoint-Test-End-to-End.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/SharePoint_2D00_Test_2D00_End_2D00_to_2D00_End.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/SharePoint-Test-End-to-End.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/SharePoint_2D00_Test_2D00_End_2D00_to_2D00_End.jpg" alt=" " border="0" /></a></span></p>
<p><span style="color:#000000;"><strong>Configure CONTOSO&#39;s SharePoint Server</strong><br /></span></p>
<p><span style="color:#000000;"><strong><br /></strong>At this point SharePoint is configured to accept claims from a Trusted Identity Token issuer, in this case that is the AD FS servers, however the web applications within SharePoint need to be configured to use the new trusted identity token issuer as their authentication provider. For this lab we only have one web application, the following steps will configure it to accept claims.</span></p>
<ol>
<li><span style="color:#000000;">Log into <span style="color:#0000ff;">CONTOSO&#39;s</span> SharePoint server</span></li>
<li>Open SharePoint&#39;s <span style="color:#0000ff;">Central Administration</span> web page</li>
<li>Click<span style="color:#0000ff;"> Application Management &gt; Manage Web Applications</span></li>
<li>You should have a single web application similar to the one shown in the following figure.<span style="color:#000000;"><br /></span><ol>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/SharePoint-Web-Application.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/SharePoint_2D00_Web_2D00_Application.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/SharePoint-Web-Application.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/SharePoint_2D00_Web_2D00_Application.JPG" alt=" " border="0" /></a></li>
</ol></li>
<li>Highlight the web application and click <span style="color:#0000ff;">Authentication Providers &gt; Default<br /></span></li>
<li>Scroll down to where it says<span style="color:#0000ff;"> Trusted Identity Provide</span>r, you should have an identity provider called <span style="color:#0000ff;">ADFS</span> similar to the following image.Click the <span style="color:#0000ff;">&quot;Trusted Identity Provider&quot; checkbox &gt; ADFS</span><br /><ol>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/SharePoint-Identity-Provider.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/SharePoint_2D00_Identity_2D00_Provider.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/SharePoint-Identity-Provider.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/SharePoint_2D00_Identity_2D00_Provider.JPG" alt=" " border="0" /></a></li>
</ol></li>
<li>Uncheck <span style="color:#0000ff;">Enable Windows Authentication</span></li>
<li>Scroll to the bottom and click <span style="color:#0000ff;">Save</span></li>
<li>Repeat these steps for <span style="color:#0000ff;">FABRIKAM&#39;s</span> SharePoint server and web application.</li>
</ol>
<p>The SharePoint web application is now configured to accept claims or more specifically a single claim; email addresses. Since we do not have Exchange in the lab environment, we will next have to go configure an email address for the test users or else we will be unable to authenticate to SharePoint.</p>
<p><strong>Configure Test Accounts <br /></strong></p>
<ul>
<li>CONTOSO<br />
<ul>
<li>Log into the <span style="color:#0000ff;">CONTOSO</span> domain controller and add <span style="color:#0000ff;">administrator@contoso.com</span> to the email field for the <span style="color:#0000ff;">Administrator</span> account</li>
<li>Create a new user called <span style="color:#0000ff;">John Doe</span> with an email address of <span style="color:#0000ff;">jdoe@contoso.com</span></li>
</ul>
</li>
<li>FABRIKAM
<ul>
<li>Log into the <span style="color:#0000ff;">FABRIKAM</span> domain controller and add <span style="color:#0000ff;">administrator@fabrikam.com</span> to the email field for the <span style="color:#0000ff;">Administrator</span> account</li>
<li>Create a new user called <span style="color:#0000ff;">Sarah Doe</span> with an email address of <span style="color:#0000ff;">sdoe@fabrikam.com</span></li>
</ul>
</li>
</ul>
<p><strong>Test INTERNAL AD FS</strong></p>
<ol>
<li>Log into<span style="color:#0000ff;"> CONTOSO&#39;s</span> workstation <span style="color:#0000ff;">CONT-WK01</span> as the administrator.</li>
<li>Open<span style="color:#0000ff;"> IE</span> and go to <span style="color:#0000ff;">https://www.contoso.com</span></li>
<li>You should see the web page similar to the following figure<br /><ol>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/CONTOSO-SharePoint-Anonymous.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/CONTOSO_2D00_SharePoint_2D00_Anonymous.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/CONTOSO-SharePoint-Anonymous.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/CONTOSO_2D00_SharePoint_2D00_Anonymous.JPG" alt=" " border="0" /></a></li>
</ol></li>
<li>Click <span style="color:#0000ff;">Sign In</span> in the upper right corner.</li>
<li>You should now be presented with an AD FS home realm discovery page which asks you which organization&#39;s credentials you would like to use to authenticate to the portal as shown in the following figure<br /><ol>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/CONTOSO-Home-Realm-Discovery.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/CONTOSO_2D00_Home_2D00_Realm_2D00_Discovery.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/CONTOSO-Home-Realm-Discovery.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/CONTOSO_2D00_Home_2D00_Realm_2D00_Discovery.JPG" alt=" " border="0" /></a></li>
</ol></li>
<li>Click <span style="color:#0000ff;">CONTOSO Users</span>.</li>
<li>You should now be successfully signed into the <span style="color:#0000ff;">CONTOSO</span> portal using your email claim as evidenced by the email address in the upper right corner; shown in the following figure.<br /><ol>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/CONTOSO-Successful-ADFS-Sign-In.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/CONTOSO_2D00_Successful_2D00_ADFS_2D00_Sign_2D00_In.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/CONTOSO-Successful-ADFS-Sign-In.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/CONTOSO_2D00_Successful_2D00_ADFS_2D00_Sign_2D00_In.jpg" alt=" " border="0" /></a></li>
</ol></li>
<li>Repeat this test with <span style="color:#0000ff;">FABRIKAM</span>. Make sure that you have provisioned an email address for the Administrator account in the<span style="color:#0000ff;"> FABRIKAM</span> forest and click<span style="color:#0000ff;"> FABRIKAM</span> users at the<span style="color:#0000ff;"> FABRIKAM AD FS</span> home realm discovery page. After logging into a <span style="color:#0000ff;">FABRIKAM</span> workstation and going to <span style="color:#0000ff;">https://www.fabrikam.com &gt; Sign In </span>you should be presented with a successful login as shown in the following figure.<ol>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/FABRIKAM-Successful-ADFS-Sign-In.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/FABRIKAM_2D00_Successful_2D00_ADFS_2D00_Sign_2D00_In.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/FABRIKAM-Successful-ADFS-Sign-In.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/FABRIKAM_2D00_Successful_2D00_ADFS_2D00_Sign_2D00_In.JPG" alt=" " border="0" /></a></li>
</ol></li>
</ol>
<p>If you made it this far then congratulations are in order, you now have two organizations with AD FS and SharePoint fully configured. One thing I should point out before proceeding is that if you look at the images above you will notice that IE is in Private mode. I always use Private mode when testing AD FS because cookies are being set all over the place. If you use IE in normal mode closing and re-opening the browser will not delete the cookies, so if you recently made a change and want to test it, some of the cookies from the previous session may give you false positives or negatives. By testing in Private mode, you can be certain that closing and re-opening the browser will clear all of the previous settings. To open IE in private mode I press <span style="color:#0000ff;">Windows+R</span> and type <span style="color:#0000ff;">iexplore -private</span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><strong>Test FEDERATED AD FS</strong></span><br /></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><strong><br /></strong>Now it is finally time to test federated AD FS end-to-end. This is where a <span style="color:#0000ff;">CONTOSO</span> or <span style="color:#0000ff;">FABRIKAM</span> user logs into their local domain and can sign into the other organization&#39;s web portal using the federated trust.<br /></span></span></p>
<ol>
<li><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;Log into the <span style="color:#0000ff;">CONTOSO</span> workstation</span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Open <span style="color:#0000ff;">IE</span> and go to <span style="color:#0000ff;">https://www.fabrikam.com</span><br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Sign In</span><br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">CONTOSO Users</span><br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Select<span style="color:#0000ff;"> CONTOSO Users</span> again<br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">You should now be signed into <span style="color:#0000ff;">FABRIKAM&#39;s</span> portal using <span style="color:#0000ff;">CONTOSO&#39;s</span> credentials as shown in the following figure.<br /></span></span></li>
</ol>
<p><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Successful-Federated-SSO.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Successful_2D00_Federated_2D00_SSO.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Successful-Federated-SSO.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Successful_2D00_Federated_2D00_SSO.jpg" alt=" " border="0" /></a><br /></span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">The last test is to repeat these steps to test from the opposite direction. Don&#39;t forget you also have a completely external workstation called <span style="color:#0000ff;">EX-WK-01</span> which you an use to test non-domain joined users. The only difference in the sign in experience will be that when you select <span style="color:#0000ff;">CONTOSO Users</span> or <span style="color:#0000ff;">FABRIKAM Users</span> you will be presented with the following login dialogue box since the AD FS server cannot obtain your domain credentials from your workstation. This prompt is the Web Application Proxy&#39;s Forms Based Authentication page which can be customized as needed. See <a href="https://technet.microsoft.com/en-us/library/dn280950.aspx">here</a> for more information.<br /></span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Web-Application-Proxy-Sign-In.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Web_2D00_Application_2D00_Proxy_2D00_Sign_2D00_In.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Web-Application-Proxy-Sign-In.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Web_2D00_Application_2D00_Proxy_2D00_Sign_2D00_In.JPG" alt=" " border="0" /></a><br /></span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;</span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><strong>BONUS</strong><br /></span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><strong><br /></strong>Everything is working as planned right? But how good would you rate the user experience at this point? More importantly how good would your users rate their user experience during the sign in process? Most <span style="color:#0000ff;">Intranet</span> users would not want to have to click<span style="color:#0000ff;"> Sign In</span> then have to select <span style="color:#0000ff;">CONTOSO</span> or <span style="color:#0000ff;">FABRIKAM</span> <span style="color:#0000ff;">Users</span> just to sign into their own <span style="color:#0000ff;">Intranet</span> portal. Also, most users would not want to have to select their organization twice when logging into the federated organization&#39;s portal. The fix for both of these scenarios is to tell the AD FS server to use the Active Directory provider for<span style="color:#0000ff;"> Intranet</span> users. This will eliminate the sign-in prompt that user&#39;s were getting from the <span style="color:#0000ff;">Intranet</span> AD FS server&#39;s home realm discovery process and make the login process more intuitive for <span style="color:#0000ff;">Intranet</span> users.<br /></span></span></p>
<ol>
<li><span style="color:#0000ff;"><span style="color:#000000;">Log into <span style="color:#0000ff;">CONTOSO&#39;s or FABRIKAM&#39;s </span>server</span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Open an elevated PowerShell window and type the following command: <span style="color:#0000ff;">Set-AdfsProperties -IntranetUseLocalClaimsProvider $true</span><br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Repeat these steps for the other organization&#39;s <span style="color:#0000ff;">AD FS</span> server</span><br /></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Log into <span style="color:#0000ff;">CONT-WK01 &gt; Open IE &gt; go to https://www.contoso.com</span><br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Sign In</span><br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">You will now be signed in without first being prompted to select <span style="color:#0000ff;">CONTOSO Users</span> or <span style="color:#0000ff;">FABRIKAM Users</span> <br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Next type <span style="color:#0000ff;">https://www.fabrikam.com</span> and click Sign In and select <span style="color:#0000ff;">CONTOSO Users</span><br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">You will now be signed in without having to select <span style="color:#0000ff;">CONTOSO Users</span> again<br /></span></span></li>
</ol>
<p><strong><span style="color:#000000;">&nbsp;Wrap-Up</span></strong></p>
<p><span style="color:#000000;">At long last this series is complete. If you follow every step in the series you will have a complete end-to-end lab environment where you can test almost every possible AD FS scenario, and hopefully you have a better understanding of how federated AD FS works as well as how to configure the WAP and AD FS services to be highly available. Along the way I also provided tips and advice that I have accumulated after deploying and troubleshooting AD FS deployments for multiple customers. Speaking of troubleshooting see the following section for a few more troubleshooting tips in case your environment does not work as desired.<br /></span></p>
<p><span style="color:#000000;">I am not a SharePoint expert but I am aware that People Picker&#39;s behavior within SharePoint changes after enabling AD FS, and some other changes happen behind the scenes as well. Ensure you fully understand the impact of those changes to SharePoint and how to mitigate them prior to making changes to a production SharePoint environment. <br /></span></p>
<p><span style="color:#000000;"><br /><strong>Troubleshooting</strong></span></p>
<ul>
<li><strong>You are unable to sign into the local SharePoint server using AD FS</strong>
<ul>
<li>Verify that SharePoint trusts the AD FS server&#39;s token signing certificate: <span style="color:#0000ff;">SharePoint Management Shell &gt; Get-SPTrustedRootAuthority</span></li>
<li>Verify that your Trusted Token Identity Issuer is property configured: <span style="color:#0000ff;">SharePoint Management Shell &gt; Get-SPTrustedIdentityTokenIssuer</span> . What you are looking for here is that the Provider URI is correct, that the Default Provider Realm matches the AD FS server&#39;s provider realm, and that the signing certificate is in fact the certificate that is being used by the AD FS server. Also verify that the claim type is email address and that the Email Address is the identity claim</li>
<li>Verify that the account you are using has an email address. Log into the domain controller and enter the following commands from PowerShell: <span style="color:#0000ff;">Get-ADUser Administrator -Properties * | fl name,mail&nbsp;<span style="color:#000000;">if the mail attribute is empty, then the account will not work</span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Verify that your web application is configured with your AD FS Authentication Provider: SharePoint Management Shell &gt; <span style="color:#0000ff;">Get-SPWebApplication | %{Get-SPAuthenticationProvider -WebApplication $_.DisplayName -Zone &quot;Default&quot;}<span style="color:#000000;"> The display name and <span style="color:#0000ff;">LoginProviderName</span> should be ADFS</span></span><br /></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the AD FS SharePoint Relying Party trust is properly configured. Log into the AD FS Server &gt; Elevated PowerShell &gt;<span style="color:#0000ff;"> Get-AdfsRelyingPartyTrust -Name &quot;SharePoint 2013&quot;</span>. Make sure that Active Directory is configured as an IssuanceTransformRule and that is is configured to send Email Address claims.&nbsp; Also make sure the Identifier value is the same as the Provider Realm within SharePoint&#39;s <span style="color:#0000ff;">SPTrustedIdentityTokenIssuer</span> configuration. Make sure that the <span style="color:#0000ff;">WSFedEndpoint</span> is the proper URL and ends in /_trust (<span style="color:#0000ff;">i.e. https://www.contoso.com/_trust</span>)<br /></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Make sure that DNS works everywhere. DNS problems will quickly break everything, make sure that the AD FS server can resolve the SharePoint address, vice versa, and that the desktop client can resolve the AD FS URL and the SharePoint URL. Make sure that the AD FS url resolves to the AD FS server not the WAP<br /></span></span></span></span></li>
</ul>
</li>
<li><strong><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You are unable to sign into the remote SharePoint Server using AD FS</span></span></span></span></strong>
<ul>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Before attempting to sign into a remote organization, make certain that AD FS is working internally, also make certain that AD FS is working internally for the remote organization.</span></span></span></span><strong><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"> <br /></span></span></span></span></strong></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If this is a lab environment, verify that certificate revocation checking works, or that is is disabled on both sides for both the relying party trusts and claims provider trusts and for both the signing and encrypting certificates <span style="color:#0000ff;">(Get-AdfsRelyingPartyTrust / Get-AdfsClaimsProviderTrust)</span><br /></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that both organizations can resolve their federation metadata and SharePoint URLs in DNS for the other organization</span><br /></span></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Ensure that the user account that is being used to test has an email address<br /></span></span></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the proper claims provider and relying party trusts are in place to send and accept the claims<br /></span></span></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the claims provider trust is configured to receive the email address as a claim and verify that the relying party trust is configured to send the email address as a claim<br /></span></span></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that claim filtering, if configured is properly configured on both sides.<br /></span></span></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that each organization resolves to the WAP&#39;s IP address in the other organization for federation services, not the AD FS servers<br /></span></span></span></span></span></span></li>
</ul>
</li>
<li><strong><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You are unable to sign into the SharePoint server from a non-domain joined workstation</span></span></span></span></span></span></strong>
<ul>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that you can resolve both the federation metadata URL as well as the SharePoint portal using DNS<br /></span></span></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the workstation&#39;s DNS resolves to the WAP server&#39;s IP address not the AD FS server&#39;s<br /></span></span></span></span></span></span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the workstation trusts the CA that signed the AD FS and SharePoint server&#39;s certificates<br /></span></span></span></span></span></span></li>
</ul>
</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Part 8 - Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-8-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Wed, 28 Oct 2015 09:20:50 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2015/10/28/part-8-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 8 of a multi-part series on how to deploy a complete end-to-end Federated Web SSO...]]></description>
      <content:encoded><![CDATA[This is Part 8 of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2's AD FS role and the Web Application Proxy. This post is all about TRUST. If you have followed all of the previous sections in this series you now have a lot of secure services and none of them trust each other. You have Certificate Authorities which do not trust the certificates issued by the other organization, you have SharePoint servers which do not even trust their own Certificate Authorities, you have AD FS servers which do not trust the claims issued by the other organization, and you even have the workstation's browsers which do not trust their own domain. For AD FS to work we must now configure all of those components to trust each other.

In case you missed it:

Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a> - Overview

Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records

Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services

Here is<a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4-windows-server-2012-r2-ad-fs-federated-web-sso.aspx"> Part 4a</a> - Installing CONTOSO's SharePoint Services

Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 4b</a> - Installing FABRIKAM's SharePoint Services

Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/25/part-5-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5a</a> - Installing CONTOSO's AD FS Services

Here is <a href="/b/platformspfe/archive/2014/09/25/part-5b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5b</a> - Installing FABRIKAM's AD FS Services

Here is <a href="/b/platformspfe/archive/2015/02/16/part-6-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 6a</a> - Installing CONTOSO's Web Application Proxies

Here is <a href="/b/platformspfe/archive/2015/10/26/part-6b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 6b</a> - Installing FABRIKAM's Web Application Proxies

Here is <a href="/b/platformspfe/archive/2015/10/27/part-7-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 7</a> - Installing External DNS and Workstations

<strong>Topology</strong>

<span style="color: #000000">The following topology highlights in yellow the servers that will be configured for part 8 and where they fit into the overall topology. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4705.ADFSTopology-Complete.png">here</a></span>

<span style="color: #000000"> <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Circle-Of-Trust.jpg"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Circle-Of-Trust.jpg" border="0" /></a></span>

<span style="color: #000000"><strong>Internet Explorer
</strong></span>

<span style="color: #000000"><strong></strong>Lets start with the easy stuff then work our way up. By default Internet Explorer does not place any sites in the Intranet Zone, this means that it will not send Windows Integrated credentials when prompted to do so by a site requesting authentication even if the site is hosted on the organization's Intranet. What this means to the end user is that they get a password prompt when attempting to access a site on the local Intranet that is configured to only accept Windows Authentication (i.e. the AD FS servers). In an AD FS environment, the AD FS server is usually configured to request Windows Authentication for Intranet users. Unless the AD FS server's URL is in the browser's local Intranet zone, the end user will get a password prompt that will make it impossible for them to proceed.
</span>

<span style="color: #000000">The simple fix is to add <span style="color: #0000ff">*.contoso.com</span> to the Intranet Zone within the <span style="color: #0000ff">contoso.com</span> domain and <span style="color: #0000ff">*.fabrikam.com</span> to the Intranet Zone within the<span style="color: #0000ff"> fabrikam.com</span> domain. Remember that starting with IE 10, Group Policy Preferences and site to zone maps are used to configure Internet Explorer (not IE Maintenance Mode) you can read more about how to manage IE <a href="https://technet.microsoft.com/en-us/library/jj851184.aspx">here</a>.
</span>

<span style="color: #000000">The following steps will add <span style="color: #0000ff">*.contoso.com</span> to the Intranet Zone within the <span style="color: #0000ff">contoso.com</span> domain
</span>
<ol>
 	<li><span style="color: #000000">Log into the <span style="color: #0000ff">CONTOSO</span> domain controller</span></li>
 	<li>Press <span style="color: #0000ff">Windows+R</span> to bring up the<span style="color: #0000ff"> Run</span> dialogue box. Type <span style="color: #0000ff">gpmc.msc</span> then hit <span style="color: #0000ff">Enter</span>.<span style="color: #000000">
</span></li>
 	<li>Right click the <span style="color: #0000ff">Default Domain Policy &gt; Edit</span></li>
 	<li>Expand <span style="color: #0000ff">User Configuration &gt; Administrative Templates &gt; Windows Components &gt; Internet Explorer &gt; Internet Control Panel &gt; Security Page</span></li>
 	<li>Double click <span style="color: #0000ff">Site to Zone Assignment List &gt; Enabled &gt; Show</span></li>
 	<li>For Value Name enter: <span style="color: #0000ff">contoso.com</span> and for Value enter<span style="color: #0000ff"> 1</span> then click <span style="color: #0000ff">OK &gt; OK</span></li>
</ol>
Log into the <span style="color: #0000ff">FABRIKAM</span> domain controller and repeat steps 1-6 above but add<span style="color: #0000ff"> fabrikam.com</span> for Step 6.<span style="color: #0000ff">
</span>

<strong>Certificate Authorities</strong>

In a production environment, typically the certificates of both organizations will have been signed by a public Certificate Authority that they both trust such as Verisign. However, in this lab environment there is no mutually trusted certificate authority so you will have to manually configure each domain to trust the certificates signed by the CA in the other domain. Even in a production environment, you may have to perform these steps if you are federating with an organization that used a private CA to sign their web and AD FS certificates.

The following steps will export the public key of the Certificate Authority in the<span style="color: #0000ff"> CONTOSO</span> domain and import the certificate into the<span style="color: #0000ff"> FABRIKAM</span> domain.
<ol>
 	<li>Log into the <span style="color: #0000ff">CONTOSO</span> domain controller</li>
 	<li>Press <span style="color: #0000ff">Windows+R</span> to bring up the <span style="color: #0000ff">Run</span> dialogue box. Type <span style="color: #0000ff">certmgr.msc</span> then hit Enter</li>
 	<li>Expand <span style="color: #0000ff">Trusted Root Certificate Authorities &gt; Certificates</span> and locate the Certificate Authority's public key. The following figure shows the CA's public key in the lab environment
<ol>
 	<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/0361.CertMgr-CA-PublicKey.JPG"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/0361.CertMgr-CA-PublicKey.JPG" border="0" /></a></li>
</ol>
</li>
 	<li>Right click the public key <span style="color: #0000ff">&gt; All Tasks &gt; Export &gt; Next &gt; Next</span></li>
 	<li>Give the certificate file a file name then click <span style="color: #0000ff">Next &gt; Finish</span></li>
 	<li>Log into the domain controller for <span style="color: #0000ff">FABRIKAM</span> and copy the CA's public key from the <span style="color: #0000ff">CONTOSO</span> domain controller to the<span style="color: #0000ff"> FABRIKAM</span> domain controller<span style="color: #0000ff">
</span></li>
 	<li>Press <span style="color: #0000ff">Windows+R</span> to bring up the<span style="color: #0000ff"> Run</span> dialogue box. Type <span style="color: #0000ff">gpmc.msc</span> then hit<span style="color: #0000ff"> Enter</span>.</li>
 	<li>Expand <span style="color: #0000ff">Domains &gt; fabrikam.com &gt; Default Domain Policy &gt; Right Click &gt; Edit</span></li>
 	<li>Expand <span style="color: #0000ff">Computer Configuration &gt; Policies &gt; Windows Settings &gt; Security Settings &gt; Public Key Policies &gt; Trusted Root Certificate Authorities</span></li>
 	<li>Right Click<span style="color: #0000ff"> &gt; Import &gt; Next &gt;Browse</span> and locate the exported public key from the <span style="color: #0000ff">CONTOSO CA</span><span style="color: #0000ff">&gt; Next &gt; Next &gt; Finish</span></li>
 	<li>Click <span style="color: #0000ff">OK</span>.</li>
</ol>
Repeat these steps to import the<span style="color: #0000ff"> FABRIKAM CA's</span> public key into the <span style="color: #0000ff">Trusted Root Certification Authorities</span> folder of the <span style="color: #0000ff">CONTOSO</span> default domain policy.<span style="color: #0000ff">
</span>

<strong>SharePoint Root Certificate Authorities</strong>

SharePoint is the recipient of tokens that have been signed by the local AD FS servers' token signing certificate. SharePoint has it's own trusted certificate authorities list that it uses to verify that it trusts the certificate that signed the claims. Even though from a technical sense, the AD FS server's token signing certificate is not a CA Root certificate, for SharePoint to trust it, it must be added to SharePoint's Root Certificate Authorities list.

The following steps will add the AD FS server's token signing certificate to SharePoint's CA Root Authorities list.
<ol>
 	<li>Log into the AD FS server</li>
 	<li>Open an Elevated PowerShell window and run the following commands:
<ol>
 	<li><span style="color: #0000ff">$SigningCert = (Get-AdfsCertificate -CertificateType Token-Signing).thumbprint</span></li>
 	<li><span style="color: #0000ff">$SigningCert = gci cert:LocalMachine\My | ?{$_.Thumbprint -eq $SigningCert}</span></li>
 	<li><span style="color: #0000ff">Export-Certificate -Cert $SigningCert -FilePath C:\SigningCert.cer</span></li>
</ol>
</li>
 	<li>Copy the file that was created (<span style="color: #0000ff">C:\SigningCert.cer</span>) to the root of the local SharePoint server's C:\ drive.</li>
 	<li>Open an elevated window of the <span style="color: #0000ff">SharePoint 2013 Management Shell</span></li>
 	<li>Enter the following command: <span style="color: #0000ff">$SigningCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\SigningCert.cer")</span></li>
 	<li>Enter the following command to import the certificate into SharePoint's CA store: <span style="color: #0000ff">New-SPTrustedRootAuthority -Name "ADFS Signing Cert" -Certificate $SigningCert</span></li>
 	<li>The output should appear similar to the following image:
<ol>
 	<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/SharePoint-Root-Authority.JPG"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/SharePoint-Root-Authority.JPG" border="0" /></a><span style="color: #0000ff">
</span></li>
</ol>
</li>
 	<li>Repeat these steps for the AD FS server and SharePoint server in the other forest.</li>
</ol>
You may wonder why I did not simply open the AD FS console, view the signing certificate, then export the certificate from the certificate store. The reason is because I have encountered situations where admins were troubleshooting for hours why SharePoint was not accepting claims from their AD FS servers, only to find out that they had imported the wrong certificate from the AD FS server. Sometimes the certificates had the same names or looked identical in almost every way, but they were not the actual certificates that the AD FS servers were using to sign the claims. It is better to query the AD FS servers themselves and use that information to get an exact match within the certificate store, vs. assuming the AD FS server is using a particular certificate.<span style="color: #0000ff"></span>

<strong>CONTOSO - SharePoint Trusted Token Identity Issuer </strong>

We must now configure SharePoint to trust the identity tokens that the AD FS servers will issue, the following script will configure <span style="color: #0000ff">CONTOSO's</span> SharePoint Server to accept claims from <span style="color: #0000ff">CONTOSO's AD FS</span> servers and will configure the user's email address as the identifier claim. Log into <span style="color: #0000ff">CONTOSO's</span> SharePoint server and open an elevated <span style="color: #0000ff">SharePoint Management Shell</span>. Then copy and paste the following script into the window.

<span style="color: #0000ff">$realm = "https://www.contoso.com"</span>
<span style="color: #0000ff">$SignInURL = "https://sts.contoso.com/adfs/ls" </span>
<span style="color: #0000ff">$SigningCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\SigningCert.cer")</span>
<span style="color: #0000ff">$EmailClaimMap = New-SPClaimTypeMapping -IncomingClaimType "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" –SameAsIncoming </span>
<span style="color: #0000ff">New-SPTrustedIdentityTokenIssuer -Name "ADFS" -Description "ADFS Identity" -Realm $realm -ImportTrustCertificate $SigningCert -ClaimsMappings $EmailClaimMap -SignInUrl $SignInURL –IdentifierClaim $EmailClaimMap.InputClaimType</span>

<span style="color: #0000ff"><span style="color: #000000"><strong>FABRIKAM - SharePoint Trusted Token Identity Issuer</strong></span>
</span>

We must now configure SharePoint to trust the identity tokens that the AD FS servers will issue, the following script will configure <span style="color: #0000ff">FABRIKAM's</span> SharePoint Server to accept claims from <span style="color: #0000ff">FABRIKAM's AD FS</span> servers and will configure the user's email address as the identifier claim. Log into <span style="color: #0000ff">FABRIKAM's</span> SharePoint server and open an elevated <span style="color: #0000ff">SharePoint Management Shell</span>. Then copy and paste the following script into the window.

<span style="color: #0000ff">$realm = "https://www.fabrikam.com"</span>
<span style="color: #0000ff">$SignInURL = "https://sts.fabrikam.com/adfs/ls" </span>
<span style="color: #0000ff">$SigningCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\SigningCert.cer")</span>
<span style="color: #0000ff">$EmailClaimMap = New-SPClaimTypeMapping -IncomingClaimType "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" –SameAsIncoming </span>
<span style="color: #0000ff">New-SPTrustedIdentityTokenIssuer -Name "ADFS" -Description "ADFS Identity" -Realm $realm -ImportTrustCertificate $SigningCert -ClaimsMappings $EmailClaimMap -SignInUrl $SignInURL –IdentifierClaim $EmailClaimMap.InputClaimType</span>

<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><strong><span style="color: #000000">AD FS SharePoint Relying Party Trust</span></strong></span></span>
</span>

<span style="color: #0000ff"><span style="color: #000000">The following steps will configure <span style="color: #0000ff">CONTOSO's</span> <span style="color: #0000ff">AD FS</span> servers to send claims to<span style="color: #0000ff"> CONTOSO's</span> SharePoint server. Typically here I would show you the PowerShell way to do it, however, due to the limitations of this web page, copying and pasting the sample PowerShell code from the blog directly into PowerShell would cause the script to fail due to formatting problems. However, at the end of this post I have attached the PowerShell versions that will configure <span style="color: #0000ff">CONTOSO's</span> and <span style="color: #0000ff">FABRIKAM's</span> SharePoint relying party trusts for you. </span></span>

<span style="color: #0000ff"><span style="color: #000000"> </span></span>

<span style="color: #0000ff"><span style="color: #000000">These steps will configure the AD FS servers to send a single claim; the email address. In a production environment you may want to use more claims such as UPN, Role, or a custom attribute.
</span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #000000">Log into <span style="color: #0000ff">CONTOSO's AD FS</span> server.</span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">Open the <span style="color: #0000ff">AD FS Management Console</span>
</span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">Expand <span style="color: #0000ff">Trust Relationships &gt; Relying Party Trusts</span>
</span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">Right <span style="color: #0000ff">Click &gt; Add Relying Party Trust &gt; Start</span>
</span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">Select "<span style="color: #0000ff">Enter data about the relying party trust manually"</span> then click <span style="color: #0000ff">Next</span>
</span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">For the <span style="color: #0000ff">Display Name</span> enter <span style="color: #0000ff">"SharePoint 2013" &gt; Click Next</span>
</span></span></li>
 	<li><span style="color: #000000">Select</span><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"> AD FS Profile &gt; Next &gt; Next
</span></span></span></li>
 	<li><span style="color: #000000">Select</span><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"> "Enable Support for the WS-Federation Passive protocol"
</span></span></span></li>
 	<li><span style="color: #000000">Enter the following URL:</span><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"> https://www.contoso.com/_trust
</span></span></span></li>
 	<li><span style="color: #000000">Click</span><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"> Next &gt; Next &gt; Permit all users to access this relying party &gt; Next &gt; Close
</span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"> <span style="color: #000000">Click</span> Add Rule <span style="color: #000000">at the</span> Edit Claim Rules<span style="color: #000000"> dialogue box</span>.
</span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select</span> Send LDAP Attributes as Claims<span style="color: #000000"> then click</span> Next
</span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter <span style="color: #0000ff">"Active Directory"</span> for the claim rule name then select<span style="color: #0000ff"> Active Directory</span> for the Attribute Store</span>
</span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select <span style="color: #0000ff">Email Addresses</span> for the LDAP attribute and <span style="color: #0000ff">Email Address</span> for the <span style="color: #0000ff">Outgoing Claim Type</span> then click <span style="color: #0000ff">Finish</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Add Rule &gt; Select Pass Through or Filter an Incoming Claim &gt; Click Next</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter "<span style="color: #0000ff">Federated Users"</span> as the <span style="color: #0000ff">Claim rule name</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">For the</span></span></span></span></span></span><span style="color: #000000"><span style="color: #000000"> </span></span><span style="color: #0000ff">Incoming claim Type</span><span style="color: #000000"><span style="color: #000000"></span></span><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"> <span style="color: #000000">select</span> Email Address
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select</span> Pass through all claim values
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Finish &gt; OK</span></span>
</span></span></span></span></span></li>
</ol>
<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Repeat the steps above for <span style="color: #0000ff">FABRIKAM's</span> AD FS server; replace <span style="color: #0000ff">CONTOSO</span> with <span style="color: #0000ff">FABRIKAM</span> in Step 1 and Step 9.
</span></span></span></span></span></span></span></span>

<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">An important concept to grasp here is that you need to issue two complete sets of claim rules when dealing with externally federated users. The first rule creates claims based on the local Active Directory. This rule would not work for federated users because the whole point of AD FS is to eliminate the need to talk to the trusted organization's Active Directory. So instead, a second rule is needed to configure the relying party trust to send claims that have been received from sources other than the local Active Directory database. If your organization is configured to accept multiple claims such as Email,Role, and UPN, make sure that you also configure those same claim rules for federated users as well if needed.</span>
</span></span></span></span></span></span></span>

<strong>Configure DNS Forwarding</strong>

<span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Before we dive into the claims provider trust configuration, we need to take a quick step back and configure DNS in each organization so that <span style="color: #0000ff">CONTOSO</span> can find <span style="color: #0000ff">FABRIKAM's</span> DNS domain and vice versa. In a production environment DNS would already be configured to point to root servers and this step would not be necessary. The following steps will point<span style="color: #0000ff"> CONTOSO's</span> and<span style="color: #0000ff"> FABRIKAM's</span> internal DNS servers to the lab's <span style="color: #0000ff">EX-DNS-01</span> root DNS server for resolution.
</span></span></span></span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Log into the domain controller for each forest
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Press <span style="color: #0000ff">Windows+R</span> to bring up the <span style="color: #0000ff">Run</span> dialogue.
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Type <span style="color: #0000ff">dnsmgmt.msc</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Right click the <span style="color: #0000ff">DNS server &gt; Properties</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Forwarders &gt; Edit</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter <span style="color: #0000ff">192.168.30.40 &gt; OK &gt; OK</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Repeat these steps for the other forest
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Verify that you can resolve <span style="color: #0000ff">www.fabrikam.com</span> from the <span style="color: #0000ff">CONTOSO</span> domain controller and <span style="color: #0000ff">www.contoso.com</span> from the<span style="color: #0000ff"> FABRIKAM</span> domain controller
</span></span></span></span></span></li>
</ol>
<span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">You have now configured the DNS servers in both organizations to resolve the DNS records for the other organization. We could have used a conditional forwarder here, or even just set up the other domain controller as the forwarding target, but using an external root DNS server more closely aligns with real world scenarios. Do not proceed if you cannot resolve the DNS records in both organizations. The following sections will fail if cross organizational DNS is not working properly.
</span></span></span></span></span>

<span style="color: #0000ff"> <span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><strong><span style="color: #000000">AD FS Claims Provider Trust</span></strong></span></span></span></span>

<span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">At this point only two major AD FS tasks remain; getting the two organizations to trust each other and to send each other claims. Sure they trust each other's certificates, and internally SharePoint trusts the AD FS servers, but now it is time to extend that circle of trust to the claims that are issued by the other organization. This is where the Federated part of Federated Web SSO finally comes into play. This is accomplished with the simple addition of a claims provider trust for both organizations. This step tells each organization that the other organization will issue claims that the local organization can trust.
</span></span></span></span></span>

<span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><strong>CONTOSO</strong>
</span></span></span></span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Log into <span style="color: #0000ff">CONTOSO's</span> AD FS server.</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Open the <span style="color: #0000ff">AD FS Management console</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Expand <span style="color: #0000ff">Trust Relationships &gt; Claims Provider Trusts</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Right click &gt; <span style="color: #0000ff">Add Claims Provider Trust</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Start &gt; Select "Import data about the claims provider published online or on a local network"</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter the federation metadata URL for <span style="color: #0000ff">FABRIKAM:</span> <span style="color: #0000ff">https://sts.fabrikam.com/</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Next</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">You should change the display name to <span style="color: #0000ff">FABRIKAM Users.</span> This display name will be the name that is displayed when users arrive at your Web Application proxy and will be displayed if you have more than one claims provider trust configured.
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Next &gt; Close</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Add Rule</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select <span style="color: #0000ff">Pass Through or Filter an Incoming Claim &gt; Next</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter <span style="color: #0000ff">"FABRIKAM E-Mail Addresses"</span> for the claim rule name
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">For Incoming claim type enter<span style="color: #0000ff"> E-Mail Address</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Leave <span style="color: #0000ff">"Pass through all claim values"</span> selected then click <span style="color: #0000ff">Finish</span>.
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">You will get a security warning stating you should filter incoming claim values. When first deploying a new claims provider trust I typically leave filtering off until the trust has been verified as working because filtering can greatly complicate the troubleshooting process. However, in a production network you should always filter incoming claims to a specific value such as limiting email claims to just the <span style="color: #0000ff">FABRIKAM</span> mail domain.
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">For the purposes of this lab click <span style="color: #0000ff">Yes &gt; OK</span></span></span></span></span></span></li>
</ol>
<strong>FABRIKAM<span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #000000">
</span></span></span></span></span></span></strong>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Log into <span style="color: #0000ff">FABRIKAM's</span> AD FS server.</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Open the <span style="color: #0000ff">AD FS Management console</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Expand <span style="color: #0000ff">Trust Relationships &gt; Claims Provider Trusts</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Right click &gt; <span style="color: #0000ff">Add Claims Provider Trust</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Start &gt; Select "Import data about the claims provider published online or on a local network"</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter the federation metadata URL for CONTOSO: <span style="color: #0000ff">https://sts.contoso.com/</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Next</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">You should change the display name to <span style="color: #0000ff">CONTOSO Users.</span> This display name will be the name that is displayed when users arrive at your Web Application proxy and will be displayed if you have more than one claims provider trust configured.
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Next &gt; Close</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Add Rule</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select <span style="color: #0000ff">Pass Through or Filter an Incoming Claim &gt; Next</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter <span style="color: #0000ff">"CONTOSO E-Mail Addresses"</span> for the claim rule name
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">For Incoming claim type enter<span style="color: #0000ff"> E-Mail Address</span>
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Leave <span style="color: #0000ff">"Pass through all claim values"</span> selected then click <span style="color: #0000ff">Finish</span>.
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">You will get a security warning stating you should filter incoming claim values. When first deploying a new claims provider trust I typically leave filtering off until the trust has been verified as working because filtering can greatly complicate the troubleshooting process. However, in a production network you should always filter incoming claims to a specific value such as limiting email claims to just the <span style="color: #0000ff">CONTOSO</span> mail domain.
</span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">For the purposes of this lab click <span style="color: #0000ff">Yes &gt; OK</span></span></span></span></span></span></li>
</ol>
<span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #000000"> </span></span></span></span></span></span>

<span style="color: #0000ff"> <span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><strong><span style="color: #000000">AD FS Relying Party Trust</span></strong></span></span></span></span>

<span style="color: #0000ff"> <span style="color: #000000">At this point both organizations are ready to receive and trust claims from the partner organization, so what could possibly be left? There's one major problem; neither organization is configured to send claims to the other organization, so federation would fail if a user attempted to access the resources in the partner organization. For that reason we will need one more trust on both sides; an AD FS relying party trust to tell <span style="color: #0000ff">CONTOSO</span> that <span style="color: #0000ff">FABRIKAM</span> needs (relies on) it to send claims and so that <span style="color: #0000ff">FABRIKAM</span> knows that <span style="color: #0000ff">CONTOSO</span> relies on it to send claims as well. The following steps will configure <span style="color: #0000ff">CONTOSO</span> and<span style="color: #0000ff"> FABRIKAM</span> to send claims to the partner organization.</span></span>

<span style="color: #0000ff"><span style="color: #000000"><strong>CONTOSO</strong>
</span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #000000">Log into <span style="color: #0000ff">CONTOSO's AD FS</span> server.</span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">Open the <span style="color: #0000ff">AD FS Management Console</span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Expand <span style="color: #0000ff">Trust Relationships &gt; Relying Party Trusts</span></span>
</span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Right click<span style="color: #0000ff"> &gt; Add Relying Party Trust</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Start &gt; Select "Import data about the claims provider published online or on a local network"</span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter <span style="color: #0000ff">https://sts.fabrikam.com/</span> for the federation metadata address
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Next &gt; Next</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">You should change the display name to <span style="color: #0000ff">FABRIKAM Users.</span> This display name will be the name that is displayed when users arrive at your Web Application proxy and will be displayed if you have more than one relying party trust configured. </span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Next &gt; Next &gt; Select "Permit all users to access this relying party" &gt; Next &gt; Next &gt; Close</span>
</span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Right click the new</span> Relying Party Trust &gt; Edit Claim Rules &gt; Add Rule
</span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select <span style="color: #0000ff">"Send LDAP Attributes as Claims" &gt; Next</span></span>
</span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter <span style="color: #0000ff">"Active Directory"</span> for the <span style="color: #0000ff">Claim rule name</span>
</span></span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select <span style="color: #0000ff">Active Directory</span> for the<span style="color: #0000ff"> Attribute Store</span>
</span></span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Under the</span> LDAP Attribute <span style="color: #000000">select</span> E-Mail-Addresses <span style="color: #000000">and under the</span> Outgoing Claim Type <span style="color: #000000">select</span> E-Mail Address
</span></span></span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Finish &gt; OK</span></span><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff">
</span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol>
<span style="color: #0000ff"><span style="color: #000000"><strong>FABRIKAM</strong>
</span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #000000">Log into <span style="color: #0000ff">FABRIKAM's AD FS</span> server.</span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">Open the <span style="color: #0000ff">AD FS Management Console</span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Expand <span style="color: #0000ff">Trust Relationships &gt; Relying Party Trusts</span></span>
</span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Right click <span style="color: #0000ff">&gt; Add Relying Party Trust</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Start &gt; Select "Import data about the claims provider published online or on a local network"</span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter <span style="color: #0000ff">https://sts.contoso.com</span>/ for the federation metadata address
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Next &gt; Next</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">You should change the display name to <span style="color: #0000ff">CONTOSO Users.</span> This display name will be the name that is displayed when users arrive at your Web Application proxy and will be displayed if you have more than one relying party trust configured. </span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Next &gt; Next &gt; Select "Permit all users to access this relying party" &gt; Next &gt; Next &gt; Close</span>
</span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Right click the new</span> Relying Party Trust &gt; Edit Claim Rules &gt; Add Rule
</span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select <span style="color: #0000ff">"Send LDAP Attributes as Claims" &gt; Next</span></span>
</span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Enter <span style="color: #0000ff">"Active Directory"</span> for the <span style="color: #0000ff">Claim rule name</span>
</span></span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Select <span style="color: #0000ff">Active Directory</span> for the<span style="color: #0000ff"> Attribute Store</span>
</span></span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Under the</span> LDAP Attribute <span style="color: #000000">select</span> E-Mail-Addresses <span style="color: #000000">and under the</span> Outgoing Claim Type <span style="color: #000000">select</span> E-Mail Address
</span></span></span></span></span></span></span></span></span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000">Click <span style="color: #0000ff">Finish &gt; OK</span></span></span></li>
</ol>
<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">The preceding steps configured <span style="color: #0000ff">FABRIKAM</span> and <span style="color: #0000ff">CONTOSO</span> to send email address claims to the other organization when requested to do so by users with a valid local Active Directory account in each organization.</span>
</span></span></span>

<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><strong>AD FS Certificate Revocation Checking</strong>
</span></span></span></span>

<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">By default AD FS servers check the revocation status of the certificates presented to them when the federated organization sends cookies encrypted and/or signed with their certificates. This works fine in a production network where certificate revocation checking is as simple as querying the CA's published CRL to verify that the AD FS server's certificate is not in it. However, in this lab environment, setting up CRL's is outside of the scope of the lab. So the quick fix is to disable CRL checking within the AD FS servers. Note; this should only be performed in a lab environment. The following steps will disable CRL checking for the federated claims provider and relying party trusts.
</span></span></span></span>

<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><strong>CONTOSO</strong>
</span></span></span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Log into <span style="color: #0000ff">CONTOSO's AD FS</span> server</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Open an elevated PowerShell window and enter the following commands:
</span></span></span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff">Get-AdfsClaimsProviderTrust -Name "FABRIKAM Users" | Set-AdfsClaimsProviderTrust -EncryptionCertificateRevocationCheck None -SigningCertificateRevocationCheck None</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff">Get-AdfsRelyingPartyTrust -Name "FABRIKAM Users"    | Set-AdfsRelyingPartyTrust -<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff">EncryptionCertificateRevocationCheck None -SigningCertificateRevocationCheck None</span></span></span></span></span>
</span></span></span></span></span></li>
</ol>
</li>
</ol>
<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><strong>FABRIKAM</strong>
</span></span></span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Log into <span style="color: #0000ff">FABRIKAM's AD FS</span> server</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000">Open an elevated PowerShell window and enter the following commands:
</span></span></span></span></span></span></span></span></span>
<ol>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff">Get-AdfsClaimsProviderTrust -Name "CONTOSO Users" | Set-AdfsClaimsProviderTrust -EncryptionCertificateRevocationCheck None -SigningCertificateRevocationCheck None</span>
</span></span></span></span></li>
 	<li><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff">Get-AdfsRelyingPartyTrust -Name "CONTOSO Users"    | <span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff">Set-AdfsRelyingPartyTrust -<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff">EncryptionCertificateRevocationCheck None -SigningCertificateRevocationCheck None</span></span></span></span></span></span></span></span></span></span>
</span></span></span></span></span></li>
</ol>
<span style="color: #0000ff"><span style="color: #000000"><span style="color: #0000ff"><span style="color: #000000"> </span></span></span></span></li>
</ol>
<span style="color: #0000ff"><span style="color: #000000"><strong>Wrap-Up</strong>
</span></span>

<span style="color: #0000ff"><span style="color: #000000"><strong>
</strong>In this blog post I walked you through creating trusts, enabling trust, trusting root certificates, trusted zones, etc. Now you can see why I called this post all about trust. But if you made it this far then you now have two organizations which trust each other's certificate authorities, browsers which trust their local intranet, SharePoint servers that trust their AD FS servers, AD FS servers that trust the claims issued by their federated partner, and AD FS servers that will issue claims to their federated partner. The only task left is to configure SharePoint to use claims to authenticate SharePoint users which is exactly what we will configure in Part 9 of this series.
</span></span>

<span style="color: #0000ff"><span style="color: #000000"><strong>BONUS</strong>
</span></span>

<span style="color: #0000ff"><span style="color: #000000">As promised I have attached a sample script that shows you how to create an AD FS Relying Party trust using PowerShell. It will not create all of the Relying Party Trusts that you need or the Claims Provider trusts, but it will show you the proper syntax that you need to work with AD FS claims rules and how to create the trust in PowerShell.
</span></span>

<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/10074/00/00/03/65/64/01/Configure-RelyingPartyTrust.txt">Configure-RelyingPartyTrust.txt</a>]]></content:encoded>
    </item>
    <item>
      <title>Part 7 - Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-7-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Tue, 27 Oct 2015 09:51:53 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2015/10/27/part-7-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 7 of a multi-part series on how to deploy a complete end-to-end Federated Web SSO...]]></description>
      <content:encoded><![CDATA[<p>This is Part 7 of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2&#39;s AD FS role and the Web Application Proxy. In this part&nbsp;I will deploy external DNS to support the required DNS records for both CONTOSO and FABRIKAM, and deploy CONTOSO&#39;s and FABRIKAM&#39;s workstations as well as a non domain joined workstation.</p>
<p>In case you missed it:</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a>&nbsp;- Overview</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services</p>
<p>Here is<a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4-windows-server-2012-r2-ad-fs-federated-web-sso.aspx"> Part 4a</a> - Installing CONTOSO&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 4b</a> - Installing FABRIKAM&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/25/part-5-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5a</a> - Installing CONTOSO&#39;s AD FS Services</p>
<p>Here is <a href="/b/platformspfe/archive/2014/09/25/part-5b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5b</a> - Installing FABRIKAM&#39;s AD FS Services</p>
<p>Here is <a href="/b/platformspfe/archive/2015/02/16/part-6-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 6a</a> - Installing CONTOSO&#39;s Web Application Proxies</p>
<p>Here is <a href="/b/platformspfe/archive/2015/10/26/part-6b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 6b</a> - Installing FABRIKAM&#39;s Web Application Proxies</p>
<p><strong>Topology</strong></p>
<p><span style="color:#000000;">The following topology highlights in yellow the server and 3 workstations that will be built for part 7 and where they fit into the overall topology. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4705.ADFSTopology-Complete.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4705.ADFSTopology_2D00_Complete.png">here</a></span></p>
<p><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Build-Remaining.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Build_2D00_Remaining.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Build-Remaining.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Build_2D00_Remaining.jpg" alt=" " border="0" /></a><br /></span></p>
<p><span style="color:#000000;"><strong>Deploy External DNS Server</strong><br /></span></p>
<p><span style="color:#000000;"><strong></strong>For this lab scenario, the external DNS server will be used to host the external DNS records for both CONTOSO and FABRIKAM. In the real world each organization would probably control their own corporate namespace and would create the necessary records in their externally accessible DNS zones. For this lab environment, EX-DNS-01 will serve the role of root DNS server and will contain A records that help external clients locate each organization&#39;s federation services and web services.<br /></span></p>
<p><span style="color:#000000;">This section will deploy the external DNS server.<br /></span></p>
<p></p>
<ol>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, DNS Server, and hostname. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: EX-DNS-01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.40</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Server: 192.168.30.40<br /></span></li>
</ol></li>
<li>Add the DNS Server role to the server by typing the following command from an elevated PowerShell window:<ol>
<li><span style="color:#0000ff;">Add-WindowsFeature DNS,RSAT-DNS-Server -IncludeManagementTools</span></li>
</ol></li>
<li>Create a new root DNS zone by typing the following command from an elevated PowerShell window:<ol>
<li><span style="color:#0000ff;"><strong>Add-DnsServerPrimaryZone -Name . -ZoneFile root.dns&nbsp;</strong><span style="color:#000000;"> I made this line bold to ensure you see that the zone&#39;s name is a dot. Ensure you include the dot to create a new root DNS zone.</span></span></li>
</ol></li>
</ol>
<p><span style="color:#0000ff;"><span style="color:#000000;">Add DNS records to the root zone using the following commands:</span></span></p>
<ol>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">Add-DnsServerResourceRecordA -ZoneName . -Name&nbsp; www.contoso.com -IPV4Address 192.168.30.4</span><br /></span></span></li>
<li><span style="color:#0000ff;">Add-DnsServerResourceRecordA -ZoneName . -Name sts.contoso.com&nbsp;&nbsp;&nbsp; -IPV4Address 192.168.30.10</span></li>
<li><span style="color:#0000ff;">Add-DnsServerResourceRecordA -ZoneName . -Name www.fabrikam.com -IPV4Address 192.168.30.22</span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">Add-DnsServerResourceRecordA -ZoneName . -Name sts.fabrikam.com &nbsp; -IPV4Address 192.168.30.28</span><br /></span></span></li>
</ol>
<p>It is very important to note that the federation DNS records point to the IP address of the WAP, NOT the ADFS servers within the external DNS. IN a production environment, the ADFS servers will typically be behind a firewall and are completely inaccessible from the Extranet.</p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><strong>Validation</strong><br /></span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><strong><br /></strong>You can validate that the zone and records were properly created by opening the dnsmgmt.msc console and expanding the root DNS zone. The zone should appear as shown in the following figure.<br /></span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Root-DNS.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Root_2D00_DNS.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Root-DNS.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Root_2D00_DNS.JPG" alt=" " border="0" /></a><br /></span></span></p>
<p><span style="color:#000000;">&nbsp;</span></p>
<p><span style="color:#000000;">&nbsp;<strong>Deploy WORKGROUP Workstation</strong></span></p>
<p><span style="color:#000000;"><strong><br /></strong>To demonstrate use cases in a mobility environment or a bring your own device environment where users are not domain joined or need to access services while outside of the corporate network, create a Windows 8 or Windows 10 workstation that is not domain joined and configure it with the following configuration:<br /></span></p>
<ul>
<li><span style="color:#0000ff;">Hostname: EX-WK-01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.41<br /></span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0<br /></span></li>
<li><span style="color:#000000;"><span style="color:#0000ff;">DNS Server: 192.168.30.40</span><br /></span></li>
</ul>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Export the public keys for the Certificate Authorities from the FABRIKAM domain and from the CONTOSO domain and import them into the workstation&#39;s trusted root CA store.</span><br /></span></span></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">From the workstation you should be able to open the following URLs:</span> <br /></span></span></p>
<ul>
<li><span style="color:#000000;"><span style="color:#0000ff;">https://www.contoso.com</span></span></li>
<li><span style="color:#000000;"><span style="color:#0000ff;">https://sts.contoso.com/federationmetadata/2007-06/federationmetadata.xml<br /></span></span></li>
<li><span style="color:#000000;"><span style="color:#0000ff;">https://www.fabrikam.com<br /></span></span></li>
<li><span style="color:#000000;"><span style="color:#0000ff;">https://sts.fabrikam.com/federationmetadata/2007-06/federationmetadata.xml<br /></span></span></li>
</ul>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If you get certificate errors opening any of the URLs ensure you imported the public keys for the CONTOSO and FABRIKAM CAs into the Trusted Root Certificate Authority Store of the workstation.</span><br /></span></span></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;</span></span></span></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;">Deploy CONTOSO Workstation</span></strong><br /></span></span></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;"><br /></span></strong><span style="color:#000000;">For this client I am going to use a Windows 10 Professional client since Windows 10 Pro is now available.&nbsp; Create a Windows 10 or Windows 8 workstation and configure it using the following configuration:<br /></span></span></span></p>
<ul>
<li><span style="color:#0000ff;">Hostname: CONT-WK01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.15<br /></span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0<br /></span></li>
<li><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">DNS Server: 192.168.30.2</span><br /></span></span></span></li>
</ul>
<p><span style="color:#000000;"><br /></span><span style="color:#0000ff;"><span style="color:#000000;">Join the new workstation to the <span style="color:#0000ff;">contoso.com</span> domain.</span><br /></span></p>
<p></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;">Deploy FABRIKAM Workstation</span></strong><br /></span></span></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">For this client I am going to use a Windows 10 Professional client since Windows 10 Pro is now available.&nbsp; Create a Windows 10 or Windows 8 workstation and configure it using the following configuration:<br /></span></span></span></p>
<p></p>
<ul>
<li><span style="color:#0000ff;">Hostname: FABR-WK01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.35<br /></span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0<br /></span></li>
<li><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">DNS Server: 192.168.30.20</span></span></span></span></li>
</ul>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#000000;">Join the new workstation to the <span style="color:#0000ff;">fabrikam.com</span> domain.</span></span></span></span></span></span></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Wrap-Up</strong><br /></span></span></span></span></span></span></p>
<p><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#0000ff;"><span style="color:#000000;">You now have two forests, external DNS, certificate services, database services, web services, AD FS services, and Web Application Proxies. The only remaining steps are to start configuring the AD FS trusts and certificates so that SharePoint accepts the claims issued by the AD FS servers and so that each organization trusts the claims issued by the other organization. <br /></span></span></span></span></span></span></p>
<ol></ol>]]></content:encoded>
    </item>
    <item>
      <title>Part 6b: Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-6b-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Mon, 26 Oct 2015 11:05:00 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2015/10/26/part-6b-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 6b of a multi-part series on how to deploy a complete end-to-end Federated Web SSO...]]></description>
      <content:encoded><![CDATA[<p>This is Part 6b of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2&#39;s AD FS role and the Web Application Proxy. In this part&nbsp;I will deploy FABRIKAM&#39;s highly available Web Application Proxies.</p>
<p>In case you missed it:</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a>&nbsp;- Overview</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services</p>
<p>Here is<a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4-windows-server-2012-r2-ad-fs-federated-web-sso.aspx"> Part 4a</a> - Installing CONTOSO&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 4b</a> - Installing FABRIKAM&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/25/part-5-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5a</a> - Installing CONTOSO&#39;s AD FS Services</p>
<p>Here is <a href="/b/platformspfe/archive/2014/09/25/part-5b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5b</a> - Installing FABRIKAM&#39;s AD FS Services</p>
<p>Here is <a href="/b/platformspfe/archive/2015/02/16/part-6-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 6a</a> - Installing CONTOSO&#39;s Web Application Proxies</p>
<p><span style="color:#000000;"><strong>Topology</strong></span></p>
<p><span style="color:#000000;">The following topology highlights in yellow the four servers that will be built for parts 6a and 6b and where they fit into the overall topology. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4705.ADFSTopology-Complete.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4705.ADFSTopology_2D00_Complete.png">here</a></span></p>
<p><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/8015.Display-WAP.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/8015.Display_2D00_WAP.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/8015.Display-WAP.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/8015.Display_2D00_WAP.jpg" alt=" " border="0" /></a></span></p>
<p><span style="color:#000000;"><strong>Deploy FABRIKAM&#39;s First Web Application Proxy (WAP) Server</strong><br /></span></p>
<p><span style="color:#000000;">&nbsp;<span style="color:#000000;">This section will deploy FABRIKAM&#39;s first Web Application Proxy server.</span></span></p>
<p></p>
<ol>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: FABR-WAP01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.26</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.20</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">fabrikam</span><span style="color:#0000ff;">.com</span> domain</li>
<li>After rebooting, log into the server using<span style="color:#0000ff;"> FABRIKAM </span>domain credentials (i.e.<span style="color:#0000ff;"> FABRIKAM\Administrator</span>)</li>
<li>Add the WAP role to the server by typing the following command from an elevated PowerShell window:<ol>
<li><span style="color:#0000ff;">Add-WindowsFeature -Name Web-Application-Proxy -IncludeManagementTools</span><span style="color:#0000ff;"><br /></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Request a certificate for the WAP</span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">From the Start Menu type <span style="color:#0000ff;">MMC &gt; File &gt; Add/Remove Snapin &gt; Certificates &gt; Add &gt; Computer Account</span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next &gt; Finish &gt; OK</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Expand <span style="color:#0000ff;">Certificates &gt; Right Click Personal &gt; All Tasks &gt; Request New Certificate</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next</span>, ensure <span style="color:#0000ff;">Active Directory Enrollment Policy</span> is highlighted &gt;<span style="color:#0000ff;"> Next</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">Web Server</span> then click the <span style="color:#0000ff;">More Information is required link</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">For the <span style="color:#0000ff;">subject name</span> select Common Name then type<span style="color:#0000ff;"> sts.fabrikam.com</span>&nbsp; and click <span style="color:#0000ff;">Add</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click the General tab and enter <span style="color:#0000ff;">sts.fabrikam.com</span> for the Friendly name and Description<br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click the <span style="color:#0000ff;">Private Key</span> tab<br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">Key Options &gt;</span><span style="color:#0000ff;"> Make private key exportable</span> then click <span style="color:#0000ff;">OK &gt; Enroll</span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Get the certificate thumbprint of the WAP&#39;s certificate by typing the following commands:</span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">dir cert:localmachine/my</span></span></span></li>
</ol></li>
<li>Copy the cert thumbprint to Notepad or the clipboard then type the following command to connect the Web Application Proxy to the ADFS servers<ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">Install-WebApplicationProxy -CertificateThumbprint &lt;thumbprint&gt; -FederationServiceName sts.fabrikam.com</span><br /></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Enter a username and password with administrative rights on the Federation Service servers then click OK.</span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">You should get a success message that the deployment succeeded as shown in the following Figure.</span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/7875.Display-Fabrikam-WAP.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/7875.Display_2D00_Fabrikam_2D00_WAP.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/7875.Display-Fabrikam-WAP.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/7875.Display_2D00_Fabrikam_2D00_WAP.JPG" alt=" " border="0" /></a></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Before proceeding I recommend that you edit your hosts file on a server other than FABR-WAP01 to point <span style="color:#0000ff;">sts.fabrikam.com</span> to the IP address of FABR-WAP01 then verify that you are able to view the federation metadata by going to the following URL: <span style="color:#0000ff;">https://sts.fabrikam.com/federationmetadata/2007-06/federationmetadata.xml</span>. This will ensure the WAP is properly publishing the metadata before proceeding.</span></span></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;">&nbsp;</span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><strong>Deploy FABRIKAM&#39;s Second Web Application Proxy (WAP) Server</strong><br /></span></span></span></p>
<p><span style="color:#000000;">This section will deploy FABRIKAM&#39;s Second Web Application Proxy server to support a&nbsp; highly available configuration. <br /></span></p>
<ol>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: FABR-WAP02</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.27</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.20</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">fabrikam</span><span style="color:#0000ff;">.com</span> domain</li>
<li>After rebooting, log into the server using<span style="color:#0000ff;"> FABRIKAM </span>domain credentials (i.e.<span style="color:#0000ff;"> FABRIKAM\Administrator</span>)</li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Add the WAP role to the server by typing the following command from an elevated PowerShell window: </span></span><ol>
<li><span style="color:#0000ff;">Add-WindowsFeature -Name Web-Application-Proxy -IncludeManagementTools<br /></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Export the public and private key of the certificate that was requested for FABR-WAP01 and import the certificate to FABR-WAP02&#39;s personal computer store. </span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">&nbsp;Get the certificate thumbprint of the WAP&#39;s certificate by typing the following commands:<br /></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">dir cert:localmachine/my</span><br /></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Copy the cert thumbprint to Notepad or the clipboard then type the following command to connect the Web Application Proxy to the ADFS server:</span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">Install-WebApplicationProxy -CertificateThumbprint &lt;thumbprint&gt; -FederationServiceName sts.fabrikam.com</span><br /></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Enter a username and password with administrative rights on the Federation Service servers then click OK.<br /></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">You should get a success message that the deployment succeeded as shown in the following Figure.</span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/5153.Display-Fabrikam-WAP.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/5153.Display_2D00_Fabrikam_2D00_WAP.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/5153.Display-Fabrikam-WAP.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/5153.Display_2D00_Fabrikam_2D00_WAP.JPG" alt=" " border="0" /></a><br /></span></span></li>
</ol></li>
<li>Before proceeding I recommend that you edit your hosts file on a server other than the FABR-WAP02 to point sts.fabrikam.com to the IP address of FABR-WAP02 then verify that you are able to view the federation metadata by going to the following URL: <span style="color:#0000ff;">https://sts.fabrikam.com/federationmetadata/2007-06/federationmetadata.xml</span>. This will ensure the WAP is properly publishing the metadata before proceeding.</li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;">&nbsp;</span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Install Windows NLB (OPTIONAL)<br /></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">The following steps will make the WAP deployment a highly available service. Typically in a production environment, a 3rd party load balancer is used to provide this functionality. If you choose to skip the deployment of Windows NLB or a 3rd party load balancer ensure to change the external <span style="color:#0000ff;">sts.fabrikam.com</span> DNS A record IP address to point to either FABR-WAP01 or FABR-WAP02.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left:30px;text-align:left;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy NLB to FABR-WAP01</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Log into <span style="color:#0000ff;">FABR-WAP01</span> and open an elevated PowerShell window</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;Type the following commands to add NLB to FABR-WAP01 and to configure the port rules<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#0000ff;">Add-WindowsFeature NLB,RSAT-NLB -IncludeManagementTools<br /></span></li>
<li><span style="color:#0000ff;">New-NlbCluster -Hostname FABR-WAP01 -Interface &quot;Ethernet&quot; -ClusterName WAPNLB -ClusterPrimaryIP 192.168.30.28 -SubnetMask 255.255.255.0 -OperationMode Multicast. <span style="color:#000000;">Note: if you are unsure of the Inteface name or this command fails type <span style="color:#0000ff;">Get-NetAdapter | fl name</span> to get the interface name</span><br /></span></li>
<li><span style="color:#0000ff;">Get-NlbClusterPortRule | Remove-NlbClusterPortRule -Force<br /></span></li>
<li><span style="color:#0000ff;">Add-NlbClusterPortRule -StartPort 443 -EndPort 443 -IP 192.168.30.28 -Protocol Tcp -Affinity Single -Interface &quot;Ethernet&quot;<br /></span></li>
<li><span style="color:#0000ff;">Add-NlbClusterPortRule -StartPort 49443 -EndPort 49443 -IP 192.168.30.28 -Protocol Tcp -Affinity Single -Interface &quot;Ethernet&quot;</span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the cluster is operational by typing the following command: <span style="color:#0000ff;">Get-NlbCluster</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#0000ff;"><br /></span></li>
</ol></li>
</ol>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy NLB to FABR-WAP02</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#0000ff;"><br /></span></p>
<ol>
<li><span style="color:#000000;">Log into <span style="color:#0000ff;">FABR-WAP02</span> and open an elevated PowerShell window</span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Type the following commands to add NLB to FABR-WAP02</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#0000ff;">Add-WindowsFeature NLB,RSAT-NLB -IncludeManagementTools</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">Add-NlbClusterNode -NewNodeName FABR-WAP02 -NewNodeInterface &quot;Ethernet&quot; -Hostname FABR-WAP01 -Interface &quot;Ethernet&quot;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the cluster is fully converged by typing the following command: <span style="color:#0000ff;">Get-NlbCluster</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;">Verify NLB and AD FS Federation Metadata</span></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify NLB is fully configured by going to the start screen &gt; type <span style="color:#0000ff;">network load balancing manager</span> then press enter. NLB should show that it is fully converged.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify AD FS by editing the hosts file of one of the servers to point <span style="color:#0000ff;">sts.fabrikam.com</span> to the NLB virtual IP address then by typing the following URL into a browser window: <span style="color:#0000ff;">https://sts.fabrikam.com/FederationMetadata/2007-06/FederationMetadata.xml. <span style="color:#000000;">The federation metadata should display.</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If you chose to deploy NLB or a 3rd party loadbalancer, ensure both nodes work as intended before proceeding by drainstopping one of the nodes (Powershell: <span style="color:#0000ff;">Stop-NlbClusterNode -Drain -Hostname FABR-WAP01</span> or <span style="color:#0000ff;">FABR-WAP02</span>). A common problem I have seen when dealing with clustering is that only one node works so users get intermittent errors that can be hard to troubleshoot since traffic occasionally hits the non-working node. <br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If your environment is virtual and your hypervisor host is Hyper-V and the NLB VIP is unreachable outside of the NLB cluster&#39;s VLAN or you encounter intermittent connectivity problems to the VIP then try enabling MAC spoofing for the VM as explained <a href="https://blogs.msdn.com/b/clustering/archive/2010/07/01/10033544.aspx">here</a>. If your hypervisor is VMware, you may need a static mapped mac address entry to resolve the issue.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Wrap-Up</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You now have two forests one named <span style="color:#0000ff;">contoso.com</span> and one named<span style="color:#0000ff;"> fabrikam.com</span> along with the DNS records, certificate services, database services, CONTOSO&#39;s and FABRIKAM&#39;s SharePoint Foundation 2013 services, and CONTOSO&#39;s and FABRIKAM&#39;s Windows Server 2012 R2 AD FS services, and CONTOSO&#39;s and FABRIKAM&#39;s Web Application Proxy services.. In the upcoming parts,external DNS will be configured, <span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"> a bi-directional AD FS trust will be established, </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>and different login scenarios will be demonstrated.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Troubleshooting</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li>If the WAP&#39;s federation metadata does not display, ensure the WAP&#39;s service is started: <span style="color:#0000ff;">Get-Service appproxy* | fl name,status</span></li>
<li>If the WAP fails to connect to the ADFS servers, verify that the WAP can properly resolve the service name of the ADFS service running on the ADFS servers (i.e. <span style="color:#0000ff;">sts.fabrikam.com</span>)<span style="color:#0000ff;"><br /></span></li>
<li>If the WAP is in a workgroup, ensure the WAP trusts the CA that signed the ADFS Service&#39;s Service Communications certificate.</li>
</ol>]]></content:encoded>
    </item>
    <item>
      <title>Configuring Advanced Scheduled Task Parameters Using PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/configuring-advanced-scheduled-task-parameters-using-powershell</link>
      <pubDate>Mon, 26 Oct 2015 09:06:00 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2015/10/26/configuring-advanced-scheduled-task-parameters-using-powershell/</guid>
      <description><![CDATA[Scenario
I recently was working with a script that had very specific requirements:

The script...]]></description>
      <content:encoded><![CDATA[<p><strong>Scenario</strong></p>
<p><br />I recently was working with a script that had very specific requirements:</p>
<ol>
<li>The script had to run as a scheduled task</li>
<li>The scheduled task itself had to be created using PowerShell</li>
<li>The script had to run once the servers started up</li>
<li>The task had to repeat every 10 minutes for 1 day</li>
</ol>
<p>Creating a scheduled task is pretty straight forward and is well documented <a target="_blank" title="https://technet.microsoft.com/en-us/library/jj649810%28v=wps.630%29.aspx" href="/controlpanel/blogs/posteditor.aspx/here">here</a>. But I quickly discovered that creating a scheduled task with the specific parameters that were needed is not as simple as it might seem. In this blog post I am going to show you how to create a scheduled task using Powershell, call a PowerShell script using that scheduled task, and configure parameters of the scheduled task that are not provided through the PowerShell Scheduled Task cmdlets. So lets go ahead and create an example scheduled task that meets all of the requirements.</p>
<p></p>
<p><strong>Create a Sample Script<br /></strong></p>
<p><strong><br /></strong>First lets create a very basic sample script that the scheduled task will run. The following code simply records the date and time and outputs it to a log file in the same folder as the script.</p>
<p>#Stores Script&#39;s Current Location<br />$sCurrDir = $myinvocation.mycommand.path<br />$sCurrDir = $sCurrDir.Replace(&quot;\&quot; + $myinvocation.MyCommand, &quot;&quot;)<br /><br />#Log Output Path<br />$OutputPath = &quot;$sCurrDir\SampleScheduledTask.log&quot;<br /><br />#Outputs to log file<br />function Write-Log{<br />param(<br />&nbsp;&nbsp;&nbsp; [string]$OutputPath<br />)<br /><br />&nbsp;&nbsp;&nbsp; #Stores Date / Time<br />&nbsp;&nbsp;&nbsp; $Date = $TimeStamp = (get-date).toshortdatestring(); $Time = (get-date).tolongtimestring()<br /><br />&nbsp;&nbsp;&nbsp; #Creates Output Message<br />&nbsp;&nbsp;&nbsp; $Message = &quot;I ran on $Date at $Time&quot;<br /><br />&nbsp;&nbsp;&nbsp; #Writes Output Message to log file<br />&nbsp;&nbsp;&nbsp; $Message | Add-Content $OutputPath<br />}<br />#Calls Log Function<br />Write-Log -OutputPath $OutputPath</p>
<p><br />Some astute readers may question why I created a function for such a simple script. The answer is because I like to provide complete examples that will provide you not just the answer to your original questions but also illustrate good coding practices and clarifying concepts that will help you write a more complete script. In this post I am not only going to show you how to automate the creation of a scheduled task and how to modify its advanced parameters, I am also going to create the scheduled task and run an example script all using the same script.</p>
<p><br /><strong>Saving The Script</strong></p>
<p><strong><br /></strong>Now that we have the start of the sample script it is important to save it in the following location for the purposes of this example:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\SampleScheduledTaskScript</p>
<p>Create a folder with that path and save the script in the folder with the name:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SampleScheduledTaskScript.ps1</p>
<p>So the full path to the script should be:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\SampleScheduledTaskScript\SampleScheduledTaskScript.ps1</p>
<p>It is important that this structure and naming convention be followed for the purposes of this example.</p>
<p><br /><strong>Creating The Scheduled Task</strong></p>
<p><strong><br /></strong>At this point we have our sample script, now we just need it to run as a scheduled task.&nbsp; So lets create the scheduled task:</p>
<p>We want the script to run regardless of the current execution policy, so we create the following task action:</p>
<p>#Creates Scheduled Task Action<br />$TaskAction1 = New-ScheduledTaskAction -Execute &#39;PowerShell.exe&#39; -Argument &quot;-ExecutionPolicy Bypass -File &quot;&quot;C:\SampleScheduledTaskScript\SampleScheduledTaskScript.ps1&quot;&quot;</p>
<p>Next we want the scheduled task to run as system so we create the following Task Principal:</p>
<p>#Assigns Task Principal<br />$TaskUserName = New-ScheduledTaskPrincipal -UserID &quot;NT AUTHORITY\SYSTEM&quot; -LogonType ServiceAccount -RunLevel Highest</p>
<p>The scheduled task must run at startup so we create the following entry:</p>
<p>#Task Trigger<br />$TaskTrigger&nbsp; = New-ScheduledTaskTrigger -AtStartup</p>
<p>Next we create the scheduled task:</p>
<p>#Create Scheduled Task<br />$Task = New-ScheduledTask -Action $TaskAction1 -Principal $TaskUserName -Trigger $TaskTrigger -Settings $TaskSettings&nbsp;</p>
<p>And lastly we register the scheduled task</p>
<p>#Register Scheduled Task<br />Register-ScheduledTask SampleScheduledTask -InputObject $Task -Force</p>
<p></p>
<p><strong>The Missing Parameters</strong></p>
<p>Great, so now we have a script, a scheduled task that runs the script, and it will run every time the server or workstation is started up. But we have failed to meet one of the requirements; the task must also repeat every 10 minutes for 1 day. If you go back and attempt to add a repetition interval or repetition duration you will notice that neither are an option for the -AtStartup parameter:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/7433.ScheduledTaskTrigger.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/7433.ScheduledTaskTrigger.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/7433.ScheduledTaskTrigger.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/7433.ScheduledTaskTrigger.png" alt=" " border="0" /></a></p>
<p>Through the GUI the scheduled task parameters are available:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/TriggerParameters.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/TriggerParameters.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/TriggerParameters.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/TriggerParameters.png" alt=" " border="0" /></a></p>
<p>But they are not available via the PowerShell <strong>New-ScheduledTaskTrigger</strong> cmdlet if you choose the <strong>-AtStartup</strong> parameter. They are available via the <strong>-Once</strong> parameter but that would not meet the requirements. The solution is to directly modify the task&#39;s properties using its XML schema. This may sound complicated at first but in reality it is very easy and will allow you to modify practically every parameter of the scheduled task.</p>
<p><strong>Step 1</strong>&nbsp; - Get the scheduled task. The first step is to get the scheduled task that you just created and store it in an object.</p>
<p>$Task = Get-ScheduledTask -TaskName &quot;SampleScheduledTask&quot;</p>
<p><strong>Step 2</strong> - Update the specific property of the task that you wish to modify. For this example we wish to add a repetition duration and a repetition interval.</p>
<p>$Task.Triggers.Repetition.Duration = &quot;P1D&quot;<br />$Task.Triggers.Repetition.Interval = &quot;PT10M&quot;</p>
<p>You are probably wondering how I knew <strong>P1D</strong> would equal a duration of 1 Day and how I knew <strong>PT10M</strong> would equal a repetition interval of 10 minutes since neither are the typical date/time or timespan values that you are probably used to working with. To get those values I simply configured the duration and interval that I wanted through the GUI then viewed the result through Powershell&nbsp; using the following command: <strong>$Task.Triggers.Repetition | fl *</strong></p>
<p><br /><strong>Step 3</strong> - Save the new configuration to the scheduled task. Remember, you must re-enter the credentials for the task here or the operation will fail.</p>
<p>$Task | Set-ScheduledTask -User &quot;NT AUTHORITY\SYSTEM&quot;</p>
<p></p>
<p><strong>Validation</strong></p>
<p><br />The scheduled task should now meet all of the requirements; lets validate that it does indeed run at startup and repeat every 10 minutes for a day. You can either validate through PowerShell or through the GUI, lets do both:</p>
<p><strong>PowerShell</strong></p>
<p>$Task = Get-ScheduledTask -TaskName &quot;SampleScheduledTask&quot;</p>
<p>$Task.Triggers.Repetition | fl *</p>
<p></p>
<p>As you can see in the following image, the scheduled task&#39;s Repetition parameters have the values you provided.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/VerifyScheduledTaskTriggers-PS.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/VerifyScheduledTaskTriggers_2D00_PS.PNG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/VerifyScheduledTaskTriggers-PS.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/VerifyScheduledTaskTriggers_2D00_PS.PNG" alt=" " border="0" /></a></p>
<p><strong>The GUI</strong></p>
<p>As you can see in the following image, the GUI shows that the desired duration and repetition are properly configured.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4011.VerifyScheduledTaskTriggers-GUI.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4011.VerifyScheduledTaskTriggers_2D00_GUI.PNG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4011.VerifyScheduledTaskTriggers-GUI.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4011.VerifyScheduledTaskTriggers_2D00_GUI.PNG" alt=" " border="0" /></a></p>
<p><br /><strong>Wrap Up</strong></p>
<p><strong><br /></strong>In this post I have shown you how to create a scheduled task that will run a PowerShell script and how to modify parameters of the scheduled task that are not available through the Scheduled Tasks PowerShell cmdlets. Using this process you can easily modify practically every parameter of a scheduled task.</p>
<p></p>
<p><strong>BONUS</strong></p>
<p><strong><br /></strong>Attached to this post is a script that will create the scheduled task for you, then run itself every 10 minutes for one day at startup. The usual caveats apply; the script is for demonstration purposes only and do not forget to delete the sample scheduled task that it creates when you are done. To run the attached script, rename it from .txt to .ps1. The script must be placed in a folder called <strong>C:\SampleScheduledTaskScript</strong> in order to properly run the scheduled task.</p>
<p></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/10074/00/00/03/65/63/39/SampleScheduledTaskScript.txt" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-10074-00-00-03-65-63-39/SampleScheduledTaskScript.txt">SampleScheduledTaskScript.txt</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Part 6a: Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-6a-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Mon, 16 Feb 2015 13:45:24 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2015/02/16/part-6a-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 6a of a multi-part series on how to deploy a complete end-to-end Federated Web SSO...]]></description>
      <content:encoded><![CDATA[<p>This is Part 6a of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2&#39;s AD FS role and the Web Application Proxy. In this part&nbsp;I will deploy CONTOSO&#39;s highly available Web Application Proxies.</p>
<p>In case you missed it:</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a>&nbsp;- Overview</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services</p>
<p>Here is<a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4-windows-server-2012-r2-ad-fs-federated-web-sso.aspx"> Part 4a</a> - Installing CONTOSO&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 4b</a> - Installing FABRIKAM&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/25/part-5-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5a</a> - Installing CONTOSO&#39;s AD FS Services</p>
<p>Here is <a href="/b/platformspfe/archive/2014/09/25/part-5b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5b</a> - Installing FABRIKAM&#39;s AD FS Services</p>
<p><span style="color:#000000;"><strong>Topology</strong></span></p>
<p><span style="color:#000000;">The following topology highlights in yellow the four servers that will be built for parts 6a and 6b and where they fit into the overall topology. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4705.ADFSTopology-Complete.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4705.ADFSTopology_2D00_Complete.png">here</a></span></p>
<p><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-WAP.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_WAP.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-WAP.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_WAP.jpg" alt=" " border="0" /></a></span></p>
<p><span style="color:#000000;"><strong>Deploy CONTOSO&#39;s First Web Application Proxy (WAP) Server</strong><br /></span></p>
<p><span style="color:#000000;">This section will deploy CONTOSO&#39;s first Web Application Proxy server.<strong> </strong></span></p>
<p><span style="color:#000000;">&nbsp;</span></p>
<ol>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: CONT-WAP01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.8</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.2</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">contoso</span><span style="color:#0000ff;">.com</span> domain</li>
<li>After rebooting, log into the server using<span style="color:#0000ff;"> CONTOSO </span>domain credentials (i.e.<span style="color:#0000ff;"> CONTOSO\Administrator</span>)</li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Add the WAP role to the server by typing the following command from an elevated PowerShell window: </span></span><ol>
<li><span style="color:#0000ff;">Add-WindowsFeature -Name Web-Application-Proxy -IncludeManagementTools<br /></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Request a certificate for the WAP<br /></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">From the Start Menu type <span style="color:#0000ff;">MMC &gt; File &gt; Add/Remove Snapin &gt; Certificates &gt; Add &gt; Computer Account</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next &gt; Finish &gt; OK</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Expand <span style="color:#0000ff;">Certificates &gt; Right Click Personal &gt; All Tasks &gt; Request New Certificate</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next</span>, ensure <span style="color:#0000ff;">Active Directory Enrollment Policy</span> is highlighted &gt;<span style="color:#0000ff;"> Next</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">Web Server</span> then click the <span style="color:#0000ff;">More Information is required link</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">For the <span style="color:#0000ff;">subject name</span> select Common Name then type<span style="color:#0000ff;"> sts.contoso.com</span>&nbsp; and click <span style="color:#0000ff;">Add</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click the General tab and enter <span style="color:#0000ff;">sts.contoso.com</span> for the Friendly name and Description<br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click the <span style="color:#0000ff;">Private Key</span> tab<br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">Key Options &gt;</span><span style="color:#0000ff;"> Make private key exportable</span> then click <span style="color:#0000ff;">OK &gt; Enroll</span></span></span></span></span></li>
</ol><span style="color:#ff0000;"><span style="color:#000000;"><br /></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">&nbsp;Get the certificate thumbprint of the WAP&#39;s certificate by typing the following commands:<br /></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">dir cert:localmachine/my</span><br /></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Copy the cert thumbprint to Notepad or the clipboard then type the following command to connect the Web Application Proxy to the ADFS server:</span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">Install-WebApplicationProxy -CertificateThumbprint &lt;thumbprint&gt; -FederationServiceName sts.contoso.com</span><br /></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Enter a username and password with administrative rights on the Federation Service servers then click OK.<br /></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">You should get a success message that the deployment succeeded as shown in the following Figure.<br /></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-WAP.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_WAP.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-WAP.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_WAP.JPG" alt=" " border="0" /></a></span></span></li>
</ol></li>
<li>Before proceeding I recommend that you edit your hosts file on a server other than CONT-WAP01 to point <span style="color:#0000ff;">sts.contoso.com</span> to the IP address of CONT-WAP01 then verify that you are able to view the federation metadata by going to the following URL: <span style="color:#0000ff;">https://sts.contoso.com/federationmetadata/2007-06/federationmetadata.xml</span>. This will ensure the WAP is properly publishing the metadata before proceeding.</li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;">&nbsp;</span></span></p>
<p><span style="color:#000000;"><strong>Deploy CONTOSO&#39;s Second Web Application Proxy (WAP) Server</strong><br /></span></p>
<p><span style="color:#000000;">This section will deploy CONTOSO&#39;s Second Web Application Proxy server to support a&nbsp; highly available configuration. <br /></span></p>
<ol>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: CONT-WAP02</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.9</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.2</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">contoso</span><span style="color:#0000ff;">.com</span> domain</li>
<li>After rebooting, log into the server using<span style="color:#0000ff;"> CONTOSO </span>domain credentials (i.e.<span style="color:#0000ff;"> CONTOSO\Administrator</span>)</li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Add the WAP role to the server by typing the following command from an elevated PowerShell window: </span></span><ol>
<li><span style="color:#0000ff;">Add-WindowsFeature -Name Web-Application-Proxy -IncludeManagementTools<br /></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Export the public and private key of the certificate that was requested for CONT-WAP01 and import the certificate to CONT-WAP02&#39;s personal computer store. </span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">&nbsp;Get the certificate thumbprint of the WAP&#39;s certificate by typing the following commands:<br /></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">dir cert:localmachine/my</span><br /></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Copy the cert thumbprint to Notepad or the clipboard then type the following command to connect the Web Application Proxy to the ADFS server:</span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">Install-WebApplicationProxy -CertificateThumbprint &lt;thumbprint&gt; -FederationServiceName sts.contoso.com</span><br /></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Enter a username and password with administrative rights on the Federation Service servers then click OK.<br /></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;">You should get a success message that the deployment succeeded as shown in the following Figure.<br /></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-WAP.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_WAP.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-WAP.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_WAP.JPG" alt=" " border="0" /></a></span></span></li>
</ol></li>
<li>Before proceeding I recommend that you edit your hosts file on a server other than the CONT-WAP02 to point sts.contoso.com to the IP address of CONT-WAP02 then verify that you are able to view the federation metadata by going to the following URL: <span style="color:#0000ff;">https://sts.contoso.com/federationmetadata/2007-06/federationmetadata.xml</span>. This will ensure the WAP is properly publishing the metadata before proceeding.</li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Install Windows NLB (OPTIONAL)<br /></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">The following steps will make the WAP deployment a highly available service. Typically in a production environment, a 3rd party load balancer is used to provide this functionality. If you choose to skip the deployment of Windows NLB or a 3rd party load balancer ensure to change the external <span style="color:#0000ff;">sts.contoso.com</span> DNS A record IP address to point to either CONT-WAP01 or CONT-WAP02.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy NLB to CONT-WAP01</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Log into <span style="color:#0000ff;">CONT-WAP01</span> and open an elevated PowerShell window</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;Type the following commands to add NLB to CONT-WAP01 and to configure the port rules<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#0000ff;">Add-WindowsFeature NLB,RSAT-NLB -IncludeManagementTools<br /></span></li>
<li><span style="color:#0000ff;">New-NlbCluster -Hostname CONT-WAP01 -Interface &quot;Ethernet&quot; -ClusterName WAPNLB -ClusterPrimaryIP 192.168.30.10 -SubnetMask 255.255.255.0 -OperationMode Multicast. <span style="color:#000000;">Note: if you are unsure of the Inteface name or this command fails type <span style="color:#0000ff;">Get-NetAdapter | fl name</span> to get the interface name</span><br /></span></li>
<li><span style="color:#0000ff;">Get-NlbClusterPortRule | Remove-NlbClusterPortRule -Force<br /></span></li>
<li><span style="color:#0000ff;">Add-NlbClusterPortRule -StartPort 443 -EndPort 443 -IP 192.168.30.10 -Protocol Tcp -Affinity Single -Interface &quot;Ethernet&quot;<br /></span></li>
<li><span style="color:#0000ff;">Add-NlbClusterPortRule -StartPort 49443 -EndPort 49443 -IP 192.168.30.10 -Protocol Tcp -Affinity Single -Interface &quot;Ethernet&quot;</span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the cluster is operational by typing the following command: <span style="color:#0000ff;">Get-NlbCluster</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#0000ff;"><br /></span></li>
</ol></li>
</ol>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy NLB to CONT-WAP02</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#0000ff;"><br /></span></p>
<ol>
<li><span style="color:#000000;">Log into <span style="color:#0000ff;">CONT-WAP02</span> and open an elevated PowerShell window</span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Type the following commands to add NLB to CONT-WAP02</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#0000ff;">Add-WindowsFeature NLB,RSAT-NLB -IncludeManagementTools</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">Add-NlbClusterNode -NewNodeName CONT-WAP02 -NewNodeInterface &quot;Ethernet&quot; -Hostname CONT-WAP01 -Interface &quot;Ethernet&quot;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the cluster is fully converged by typing the following command: <span style="color:#0000ff;">Get-NlbCluster</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;">Verify NLB and AD FS Federation Metadata</span></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;<span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify NLB is fully configured by going to the start screen &gt; type <span style="color:#0000ff;">network load balancing manager</span> then press enter. NLB should show that it is fully converged.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify AD FS by editing the hosts file of one of the servers to point <span style="color:#0000ff;">sts.contoso.com</span> to the NLB virtual IP address then by typing the following URL into a browser window: <span style="color:#0000ff;">https://sts.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml. <span style="color:#000000;">The federation metadata should display.</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If you chose to deploy NLB or a 3rd party loadbalancer, ensure both nodes work as intended before proceeding by drainstopping one of the nodes (Powershell: <span style="color:#0000ff;">Stop-NlbClusterNode -Drain -Hostname CONT-WAP01</span> or <span style="color:#0000ff;">CONT-WAP02</span>). A common problem I have seen when dealing with clustering is that only one node works so users get intermittent errors that can be hard to troubleshoot since traffic occasionally hits the non-working node. <br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If your environment is virtual and your hypervisor host is Hyper-V and the NLB VIP is unreachable outside of the NLB cluster&#39;s VLAN or you encounter intermittent connectivity problems to the VIP then try enabling MAC spoofing for the VM as explained <a href="https://blogs.msdn.com/b/clustering/archive/2010/07/01/10033544.aspx">here</a>. If your hypervisor is VMware, you may need a static mapped mac address entry to resolve the issue.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Wrap-Up</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You now have two forests one named <span style="color:#0000ff;">contoso.com</span> and one named<span style="color:#0000ff;"> fabrikam.com</span> along with the DNS records, certificate services, database services, CONTOSO&#39;s and FABRIKAM&#39;s SharePoint Foundation 2013 services, and CONTOSO&#39;s and FABRIKAM&#39;s Windows Server 2012 R2 AD FS services, and CONTOSO&#39;s Web Application Proxy services.. In the upcoming parts FABRIKAM&#39;s Web Application Proxies will be deployed and configured to support federated web SSO, a bi-directional AD FS trust will be established, external DNS will be configured, and different login scenarios will be tested.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Troubleshooting</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ul>
<li>If the WAP&#39;s federation metadata does not display, ensure the WAP&#39;s service is started: <span style="color:#0000ff;">Get-Service appproxy* | fl name,status</span></li>
<li>If the WAP fails to connect to the ADFS servers, verify that the WAP can properly resolve the service name of the ADFS service running on the ADFS servers (i.e. <span style="color:#0000ff;">sts.contoso.com</span>)<span style="color:#0000ff;"><br /></span></li>
<li>If the WAP is in a workgroup, ensure the WAP trusts the CA that signed the ADFS Service&#39;s Service Communications certificate.</li>
</ul>
<p style="padding:0;margin:0;"></p>]]></content:encoded>
    </item>
    <item>
      <title>Part 5b: Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-5b-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Thu, 25 Sep 2014 16:30:00 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2014/09/25/part-5b-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 5b of a multi-part series on how to deploy a complete end-to-end Federated Web SSO...]]></description>
      <content:encoded><![CDATA[<p>This is Part 5b of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2&#39;s AD FS role and the Web Application Proxy. In this part&nbsp;I will deploy FABRIKAM&#39;s highly available Federation Service. This part is a continuation of part 5a where CONTOSO&#39;s federation services were deployed. FABRIKAM&#39;s federation services will now be deployed.</p>
<p>In case you missed it:</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a>&nbsp;- Overview</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services</p>
<p>Here is<a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4-windows-server-2012-r2-ad-fs-federated-web-sso.aspx"> Part 4a</a> - Installing CONTOSO&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 4b</a> - Installing FABRIKAM&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/25/part-5-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 5a</a> - Installing CONTOSO&#39;s AD FS Services</p>
<p><br /><span style="color:#000000;"><strong>Topology</strong></span></p>
<p><span style="color:#000000;">The following topology highlights in yellow the two servers that will be built for parts 5a and 5b and where they fit into the overall topology. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4705.ADFSTopology-Complete.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4705.ADFSTopology_2D00_Complete.png">here</a></span></p>
<p><strong><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Fabrikam-Build-ADFS.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Fabrikam_2D00_Build_2D00_ADFS.png"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Fabrikam-Build-ADFS.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Fabrikam_2D00_Build_2D00_ADFS.png" alt=" " border="0" /></a>&nbsp;</strong></p>
<p><strong><strong>Deploy FABRIKAM&#39;s Federation Servers<br /></strong></strong></p>
<p><strong><strong><br /></strong></strong>The following sections will deploy FABRIKAM&#39;s federation servers in a highly available configuration.&nbsp;</p>
<p style="margin-left:30px;"><strong>Deploy FABRIKAM&#39;s First Federation Server</strong></p>
<ol>
<li>Log into the <span style="color:#0000ff;">FABRIKAM </span>domain controller (<span style="color:#0000ff;">FABR</span><span style="color:#0000ff;">-DC01</span>) and create a new Domain User called <span style="color:#0000ff;">srv_ADFS</span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">If you have not already done so, create a new DNS A record called <span style="color:#0000ff;">sts.fabrikam.com</span> with an IP address of <span style="color:#0000ff;">192.168.30.25</span> which is the network loadbalanced virtual IP address for the federation service</span>.</span></li>
<li>Log into the<span style="color:#0000ff;"> FABRIKAM </span>SQL server (<span style="color:#0000ff;">FABR</span><span style="color:#0000ff;">-SQ01</span>) and give <span style="color:#0000ff;">srv_ADFS sysadmin </span>rights.<ol>
<li>Open <span style="color:#0000ff;">SQL Server Management studio &gt; Security &gt; Logins &gt; New Login &gt; Search &gt; Locations &gt; Entire Directory &gt; OK</span></li>
<li>Enter <span style="color:#0000ff;">srv_adfs</span> then press <span style="color:#0000ff;">Enter<br /></span></li>
<li>Select <span style="color:#0000ff;">Server Roles &gt; Check sysadmin &gt; OK</span></li>
<li>In a production environment the rights should be modified to give the service account the least permissions necessary after AD FS is deployed.</li>
</ol>
<p style="padding:0;margin:0;"></p>
</li>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: FABR-FS01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.23</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.20</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">fabrikam.com</span> domain</li>
<li>After rebooting, log into the server using<span style="color:#0000ff;"> FABRIKAM </span>domain credentials (i.e.<span style="color:#0000ff;"> FABRIKAM\Administrator</span>)</li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Add AD FS to the server by typing the following command from an elevated PowerShell window: <span style="color:#0000ff;">Add-WindowsFeature ADFS-Federation -Includemanagementtools</span></span><br /></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Request 3 certificates (Service Communications, Decryption, Signing)<br /></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">From the Start Menu type <span style="color:#0000ff;">MMC &gt; File &gt; Add/Remove Snapin &gt; Certificates &gt; Add &gt; Computer Account</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next &gt; Finish &gt; OK</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Expand <span style="color:#0000ff;">Certificates &gt; Right Click Personal &gt; All Tasks &gt; Request New Certificate</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next</span>, ensure <span style="color:#0000ff;">Active Directory Enrollment Policy</span> is highlighted &gt;<span style="color:#0000ff;"> Next</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">Web Server</span> then click the <span style="color:#0000ff;">More Information is required link</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">For the <span style="color:#0000ff;">subject name</span> select Common Name then type<span style="color:#0000ff;"> sts.fabrikam.com</span>&nbsp; and click <span style="color:#0000ff;">Add</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click the General tab and enter <span style="color:#0000ff;">sts.fabrikam.com</span> for the Friendly name and Description<br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click the <span style="color:#0000ff;">Private Key</span> tab<br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select<span style="color:#0000ff;"> Make private key exportable</span> then click <span style="color:#0000ff;">OK &gt; Enroll</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Repeat steps <span style="color:#0000ff;">7a-7i</span> to obtain 2 more certs with a subject name of <span style="color:#0000ff;">sts-dec.fabrikam.com</span> and <span style="color:#0000ff;">sts-sig.fabrikam.com</span></span><br /></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">The service communications certificate should have a subject name of <span style="color:#0000ff;">sts.fabrikam.com</span>, the decryption certificate should have a subject name of <span style="color:#0000ff;">sts-dec.fabrikam.com</span>, and the signing certificate should have a subject name of <span style="color:#0000ff;">sts-sig.fabrikam.com</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Export all of the certificates to a PFX file before continuing.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Highlight all 3 certificates &gt; <span style="color:#0000ff;">Right Click &gt; All Tasks &gt; Export</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next &gt; Yes, export the private key &gt;&nbsp; Next &gt; Personal Information Exchange &gt; Next</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">Password</span> and enter a password then click<span style="color:#0000ff;"> Next</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select a place to save the file <span style="color:#0000ff;">&gt; Next &gt; Finish &gt; OK</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Go back to the certificate management console and give the <span style="color:#0000ff;">srv_ADFS</span> service account rights to read the private keys</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Highlight a Certificate &gt; <span style="color:#0000ff;">Right Click &gt; All Tasks &gt; Manage Private Keys &gt; Add &gt; srv_ADFS &gt; Uncheck Full Control</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">OK</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Repeat for all 3 certificates<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open an elevated PowerShell window and type the following command: <span style="color:#0000ff;">dir cert:localmachine\my</span></span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open Notepad and copy and paste the thumbprints from each certificate to the proper locations within the following command after typing the following PowerShell command into the Notepad document:</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">$fsCred = Get-Credential<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">Install-AdfsFarm -CertificateThumbprint &lt;thumbprint&gt; -DecryptionCertificateThumbprint &lt;thumbprint&gt; -SigningCertificateThumbprint &lt;thumbprint&gt; -FederationServiceName sts.fabrikam.com -SQLConnectionString&nbsp;&quot;Data Source=FABR-SQ01;Integrated Security=True&quot; -ServiceAccountCredential $fsCred -FederationServiceDisplayName &quot;FABRIKAM Users&quot;&nbsp; <span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;">The completed command should look similar to the one shown in the following Figure.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-Farm.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_Farm.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-Farm.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_Farm.JPG" alt=" " border="0" /></a><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Copy the completed PowerShell commands from Notepad to an elevated PowerShell window. Enter<span style="color:#0000ff;"> FABRIKAM\srv_ADFS</span> and the password for <span style="color:#0000ff;">srv_ADFS</span> when prompted then press <span style="color:#0000ff;">Enter</span> to continue</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You should get a message stating that the deployment was successful.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Type the following PowerShell command to verify that the service successfully installed: <span style="color:#0000ff;">Test-AdfsFarmInstallation -FederationServiceName sts.fabrikam.com</span> then enter the credentials for <span style="color:#0000ff;">FABRIKAM\srv_ADFS</span> when prompted. Your output should be similar to the one shown in the following Figure.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-Test.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_Test.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-Test.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_Test.JPG" alt=" " border="0" /></a><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy FABRIKAM&#39;s Second Federation Server</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: FABR-FS02</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.24</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.20</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">fabrikam.com</span> domain</li>
<li>After rebooting, log into the server using <span style="color:#0000ff;">FABRIKAM </span>domain credentials (i.e. <span style="color:#0000ff;">FABRIKAM\Administrator</span>)</li>
<li>Add AD FS to the server by typing the following command from an elevated PowerShell window: <span style="color:#0000ff;">Add-WindowsFeature ADFS-Federation -Includemanagementtools<br /></span></li>
<li>Copy the private keys that were exported from FABR-FS01 to FABR-FS02</li>
<li>Import the private keys to FABR-FS02<span style="color:#0000ff;"><br /></span><ol>
<li>Double click the PFX file and select <span style="color:#0000ff;">LocalMachine</span> then click <span style="color:#0000ff;">Next &gt; Next</span></li>
<li>Enter the password that you entered when you exported the private keys then click <span style="color:#0000ff;">Next</span></li>
<li>Select <span style="color:#0000ff;">Place all certificates in the following store &gt; Browse &gt; Personal &gt; OK &gt; Next &gt; Finish &gt; OK. <span style="color:#ff0000;">Note: As a best practice you should delete the PFX file once the certificates have been imported into the certificate store.</span></span></li>
</ol></li>
<li>Open the <span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">certificate management console and give the <span style="color:#0000ff;">srv_ADFS</span> service account rights to read the private keys</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Highlight a Certificate &gt; <span style="color:#0000ff;">Right Click &gt; All Tasks &gt; Manage Private Keys &gt; Add &gt; srv_ADFS &gt; Uncheck Full Control</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">OK</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Repeat for all 3 certificates</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open an elevated PowerShell window and type the following command: <span style="color:#0000ff;">dir cert:localmachine\my</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open Notepad and copy and paste the service communications thumbprint (subject: <span style="color:#0000ff;">sts.fabrikam.com</span>) cto the proper location within the following command after typing the following PowerShell command into the Notepad </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#0000ff;">$fsCred = Get-Credential</span></li>
<li><span style="color:#0000ff;">Add-AdfsFarmNode -ServiceAccountCredential $fsCred -SQLConnectionString &quot;Data Source=FABR-SQ01;Integrated Security=True&quot; -CertificateThumbprint &quot;&lt;thumbprint&gt;&quot; </span></li>
</ol></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">The completed command should look similar to the one shown in the following Figure.</span><br /></span><ol>
<li><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-FM2.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_FM2.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-FM2.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_FM2.JPG" alt=" " border="0" /></a></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You should get a message stating that the deployment was successful.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Type the following PowerShell command to verify that the service successfully installed: <span style="color:#0000ff;">Test-AdfsFarmInstallation -FederationServiceName sts.fabrikam.com</span> then enter the credentials for <span style="color:#0000ff;">FABRIKAM\srv_ADFS</span> when prompted. Your output should be similar to the one shown in the following Figure.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-Test.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_Test.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-Test.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_Test.JPG" alt=" " border="0" /></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>&nbsp;</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Install Windows NLB (OPTIONAL)<br /></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">The following steps will make the AD FS deployment a highly available service. Typically in a production environment, a 3rd party load balancer is used to provide this functionality. If you choose to skip the deployment of Windows NLB or a 3rd party load balancer ensure to change the sts.fabrikam.com DNS A record IP address to point to either FABR-FS01 or FABR-FS02.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy NLB to FABR-FS01</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Log into <span style="color:#0000ff;">FABR-FS01</span> and open an elevated PowerShell window</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;Type the following commands to add NLB to CONT-FS01 and to configure the port rules<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#0000ff;">Add-WindowsFeature NLB,RSAT-NLB -IncludeManagementTools<br /></span></li>
<li><span style="color:#0000ff;">New-NlbCluster -Hostname FABR-FS01 -Interface &quot;Ethernet&quot; -ClusterName ADFSNLB -ClusterPrimaryIP 192.168.30.25 -SubnetMask 255.255.255.0 -OperationMode Multicast. <span style="color:#000000;">Note: if you are unsure of the Inteface name or this command fails type <span style="color:#0000ff;">Get-NetAdapter | fl name</span> to get the interface name</span><br /></span></li>
<li><span style="color:#0000ff;">Get-NlbClusterPortRule | Remove-NlbClusterPortRule -Force<br /></span></li>
<li><span style="color:#0000ff;">Add-NlbClusterPortRule -StartPort 443 -EndPort 443 -IP 192.168.30.25 -Protocol Tcp -Affinity Single -Interface &quot;Ethernet&quot;<br /></span></li>
<li><span style="color:#0000ff;">Add-NlbClusterPortRule -StartPort 49443 -EndPort 49443 -IP 192.168.30.25 -Protocol Tcp -Affinity Single -Interface &quot;Ethernet&quot;</span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the cluster is operational by typing the following command: <span style="color:#0000ff;">Get-NlbCluster</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#0000ff;"><br /></span></li>
</ol></li>
</ol>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy NLB to FABR-FS01</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#0000ff;"><br /></span></p>
<ol>
<li><span style="color:#000000;">Log into <span style="color:#0000ff;">FABR-FS02</span> and open an elevated PowerShell window</span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Type the following commands to add NLB to FABR-FS02</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#0000ff;">Add-WindowsFeature NLB,RSAT-NLB -IncludeManagementTools</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">Add-NlbClusterNode -NewNodeName FABR-FS02 -NewNodeInterface &quot;Ethernet&quot; -Hostname FABR-FS01 -Interface &quot;Ethernet&quot;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the cluster is fully converged by typing the following command: <span style="color:#0000ff;">Get-NlbCluster</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;">Verify NLB and AD FS Federation Metadata</span></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;"><br /></span></strong><span style="color:#000000;">Verify NLB is fully configured by going to the start screen &gt; type <span style="color:#0000ff;">network load balancing manager</span> then press enter. NLB should be similar to the one shown in the following Figure.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-NLB-PortRules.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_NLB_2D00_PortRules.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-NLB-PortRules.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_NLB_2D00_PortRules.JPG" alt=" " border="0" /></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify AD FS by typing the following URL into a browser window: <span style="color:#0000ff;">https://sts.fabrikam.com/FederationMetadata/2007-06/FederationMetadata.xml</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You should be presented with a federation metadata page similar to one of the ones shown below depending on your browser&#39;s trusted sites and compatibility mode configuration.</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-FM1.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_FM1.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-Install-ADFS-FM1.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_FM1.JPG" alt=" " border="0" /></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/3252.Display-Fabrikam-Install-ADFS-FM2.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/3252.Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_FM2.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/3252.Display-Fabrikam-Install-ADFS-FM2.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/3252.Display_2D00_Fabrikam_2D00_Install_2D00_ADFS_2D00_FM2.JPG" alt=" " border="0" /></a><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If you chose to deploy NLB or a 3rd party loadbalancer, ensure both nodes work as intended before proceeding by drainstopping one of the nodes (Powershell: <span style="color:#0000ff;">Stop-NlbClusterNode -Drain -Hostname FABR-FS01</span> or <span style="color:#0000ff;">FABR-FS02</span>). A common problem I have seen when dealing with clustering is that only one node works so users get intermittent errors that can be hard to troubleshoot since traffic occasionally hits the non-working node. <br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If your environment is virtual and your hypervisor host is Hyper-V and the NLB VIP is unreachable outside of the NLB cluster&#39;s VLAN or you encounter intermittent connectivity problems to the VIP then try enabling MAC spoofing for the VM as explained <a href="https://blogs.msdn.com/b/clustering/archive/2010/07/01/10033544.aspx">here</a>. If your hypervisor is VMware, you may need a static mapped mac address entry to resolve the issue.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><br /><strong>Verify Service Principal Name</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Although the AD FS service automatically configures the SPN for the AD FS service account, I always like to verify that it is correct before proceeding. This will also ensure that another account does not have the same SPN which will prevent Kerberos from working. The following steps will verify the SPN.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Log into a <span style="color:#0000ff;">FABRIKAM</span> member server.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open a command prompt and type the following commands</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#0000ff;">setspn -X<br /></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">setspn -L srv_adfs</span> <br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">The resulting output should be similar to the output shown in the following Figure. Any duplicates should be resolved before continuing.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SPN.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SPN.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SPN.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SPN.JPG" alt=" " border="0" /></a><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Wrap-Up</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You now have two forests one named <span style="color:#0000ff;">contoso.com</span> and one named<span style="color:#0000ff;"> fabrikam.com</span> along with the DNS records, certificate services, database services, CONTOSO&#39;s and FABRIKAM&#39;s SharePoint Foundation 2013 services, and CONTOSO&#39;s and FABRIKAM&#39;s Windows Server 2012 R2 AD FS services. In the upcoming parts both organization&#39;s Web Application Proxies will be deployed and configured to support Federated Web SSO.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;<strong>Troubleshooting</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ul>
<li>If you cannot connect to the SQL server and the Windows Firewall is enabled ensure port TCP 1433 is enabled inbound on the Windows Firewall as per the following <a href="https://msdn.microsoft.com/en-us/library/ms175043.aspx#SSMSProcedure">instructions</a>.</li>
<li>If the installation of AD FS fails when connecting to SQL, verify that the service account has at least DB Owner on the SQL server for the target database</li>
<li>If you get an error when attempting to obtain a certificate ensure that Domain Computers have rights to read the Web Server template</li>
<li>If you get an error when attempting to obtain a certificate ensure that<strong> </strong>the CRL has not expired</li>
<li>If you get an error &quot;Install-AdfsFarm: Parameter set cannot be resolved...&quot; verify that the command and all parameters are properly spelled and that all mandatory parameters are present</li>
<li>If you get an error stating page cannot be found when viewing https://sts.fabrikam.com/FederationMetadata/2007-06/FederationMetadata.xml verify that the sts.fabrikam.com record was created and points to either the AD FS server IP address or the NLB Virtual IP address (VIP)</li>
</ul>
<p style="padding:0;margin:0;"></p>]]></content:encoded>
    </item>
    <item>
      <title>Part 5a: Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-5a-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Thu, 25 Sep 2014 16:28:59 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2014/09/25/part-5a-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 5a of a multi-part series on how to deploy a complete end-to-end Federated Web SSO...]]></description>
      <content:encoded><![CDATA[<p>This is Part 5a of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2&#39;s AD FS role and the Web Application Proxy. In this part&nbsp;I will deploy CONTOSO&#39;s highly available Federation Service. Most organizations and lab environments will already have an existing deployment of Active Directory, SQL,&nbsp; and SharePoint which means that many of you will have skipped to this post as the entry point for your AD FS deployment. Ensure that you do already have a fully functional Active Directory, SQL, DNS, SharePoint, and certificate services infrastructure before proceeding.</p>
<p>If you did skip the previous parts and jumped straight to this one, ensure that you update the IP addresses, DNS names, and SPNs to match your environment. One of the most common problems I encounter when troubleshooting a customer&#39;s AD FS deployment is incorrect DNS names or Service Principal Names (SPNs).</p>
<p>In case you missed it:</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a>&nbsp;- Overview</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services</p>
<p>Here is<a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4-windows-server-2012-r2-ad-fs-federated-web-sso.aspx"> Part 4a</a> - Installing CONTOSO&#39;s SharePoint Services</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 4b</a> - Installing FABRIKAM&#39;s SharePoint Services</p>
<p><br /><span style="color:#000000;"><strong>Topology</strong></span></p>
<p><span style="color:#000000;">The following topology highlights in yellow the two servers that will be built for parts 5a and 5b and where they fit into the overall topology. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4705.ADFSTopology-Complete.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4705.ADFSTopology_2D00_Complete.png">here</a></span></p>
<p><strong><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Contoso-Build-ADFS.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Contoso_2D00_Build_2D00_ADFS.png"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Contoso-Build-ADFS.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Contoso_2D00_Build_2D00_ADFS.png" alt=" " border="0" /></a>&nbsp;</strong></p>
<p><strong><strong>Deploy CONTOSO&#39;s Federation Servers<br /></strong></strong></p>
<p><strong><strong><br /></strong></strong>The following sections will deploy CONTOSO&#39;s federation servers in a highly available configuration.&nbsp;</p>
<p style="margin-left:30px;"><strong>Deploy CONTOSO&#39;s First Federation Server</strong></p>
<ol>
<li>Log into the <span style="color:#0000ff;">CONTOSO </span>domain controller (<span style="color:#0000ff;">CONT</span><span style="color:#0000ff;">-DC01</span>) and create a new Domain User called <span style="color:#0000ff;">srv_ADFS</span></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">If you have not already done so, create a new DNS A record called <span style="color:#0000ff;">sts.contoso.com</span> with an IP address of <span style="color:#0000ff;">192.168.30.7</span> which is the network loadbalanced virtual IP address for the federation service</span>.</span></li>
<li>Log into the<span style="color:#0000ff;"> CONTOSO </span>SQL server (<span style="color:#0000ff;">CONT</span><span style="color:#0000ff;">-SQ01</span>) and give <span style="color:#0000ff;">srv_ADFS sysadmin </span>rights.<ol>
<li>Open <span style="color:#0000ff;">SQL Server Management studio &gt; Security &gt; Logins &gt; New Login &gt; Search &gt; Locations &gt; Entire Directory &gt; OK</span></li>
<li>Enter <span style="color:#0000ff;">srv_adfs</span> then press <span style="color:#0000ff;">Enter</span><span style="color:#0000ff;"><br /></span></li>
<li>Select <span style="color:#0000ff;">Server Roles &gt; Check sysadmin &gt; OK</span></li>
<li>In a production environment the rights should be modified to give the service account the least permissions necessary after AD FS is deployed.</li>
</ol>
<p style="padding:0;margin:0;"></p>
</li>
<li><span style="color:#0000ff;"></span>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: CONT-FS01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.5</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.2</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">contoso.com</span> domain</li>
<li>After rebooting, log into the server using<span style="color:#0000ff;"> CONTOSO </span>domain credentials (i.e.<span style="color:#0000ff;"> CONTOSO\Administrator</span>)</li>
<li><span style="color:#ff0000;"><span style="color:#000000;">Add AD FS to the server by typing the following command from an elevated PowerShell window: <span style="color:#0000ff;">Add-WindowsFeature ADFS-Federation -Includemanagementtools</span></span><br /></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Request 3 certificates (Service Communications, Decryption, Signing)<br /></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">From the Start Menu type <span style="color:#0000ff;">MMC &gt; File &gt; Add/Remove Snapin &gt; Certificates &gt; Add &gt; Computer Account</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next &gt; Finish &gt; OK</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Expand <span style="color:#0000ff;">Certificates &gt; Right Click Personal &gt; All Tasks &gt; Request New Certificate</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next</span>, ensure <span style="color:#0000ff;">Active Directory Enrollment Policy</span> is highlighted &gt;<span style="color:#0000ff;"> Next</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">Web Server</span> then click the <span style="color:#0000ff;">More Information is required link</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">For the <span style="color:#0000ff;">subject name</span> select Common Name then type<span style="color:#0000ff;"> sts.contoso.com</span>&nbsp; and click <span style="color:#0000ff;">Add</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click the General tab and enter <span style="color:#0000ff;">sts.contoso.com</span> for the Friendly name and Description<br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click the <span style="color:#0000ff;">Private Key</span> tab<br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select<span style="color:#0000ff;"> Make private key exportable</span> then click <span style="color:#0000ff;">OK &gt; Enroll</span><br /></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Repeat steps <span style="color:#0000ff;">7a-7i</span> to obtain 2 more certs with a subject name of <span style="color:#0000ff;">sts-dec.contoso.com</span> and <span style="color:#0000ff;">sts-sig.contoso.com</span></span><br /></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">The service communications certificate should have a subject name of <span style="color:#0000ff;">sts.contoso.com</span>, the decryption certificate should have a subject name of <span style="color:#0000ff;">sts-dec.contoso.com</span>, and the signing certificate should have a subject name of <span style="color:#0000ff;">sts-sig.contoso.com</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Export all of the certificates to a PFX file before continuing.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Highlight all 3 certificates &gt; <span style="color:#0000ff;">Right Click &gt; All Tasks &gt; Export</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">Next &gt; Yes, export the private key &gt;&nbsp; Next &gt; Personal Information Exchange &gt; Next</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select <span style="color:#0000ff;">Password</span> and enter a password then click<span style="color:#0000ff;"> Next</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Select a place to save the file <span style="color:#0000ff;">&gt; Next &gt; Finish &gt; OK</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Go back to the certificate management console and give the <span style="color:#0000ff;">srv_ADFS</span> service account rights to read the private keys</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Highlight a Certificate &gt; <span style="color:#0000ff;">Right Click &gt; All Tasks &gt; Manage Private Keys &gt; Add &gt; srv_ADFS &gt; Uncheck Full Control</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">OK</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Repeat for all 3 certificates<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open an elevated PowerShell window and type the following command: <span style="color:#0000ff;">dir cert:localmachine\my</span></span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open Notepad and copy and paste the thumbprints from each certificate to the proper locations within the following command after typing the following PowerShell command into the Notepad document:</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">$fsCred = Get-Credential<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;">Install-AdfsFarm -CertificateThumbprint &lt;thumbprint&gt; -DecryptionCertificateThumbprint &lt;thumbprint&gt; -SigningCertificateThumbprint &lt;thumbprint&gt; -FederationServiceName sts.contoso.com -SQLConnectionString&nbsp;&quot;Data Source=CONT-SQ01;Integrated Security=True&quot; -ServiceAccountCredential $fsCred -FederationServiceDisplayName &quot;CONTOSO Users&quot;&nbsp; <span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;">The completed command should look similar to the one shown in the following Figure.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#000000;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-Install-ADFS-Farm.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_Install_2D00_ADFS_2D00_Farm.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-Install-ADFS-Farm.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_Install_2D00_ADFS_2D00_Farm.JPG" alt=" " border="0" /></a><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Copy the completed PowerShell commands from Notepad to an elevated PowerShell window. Enter<span style="color:#0000ff;"> CONTOSO\srv_ADFS</span> and the password for <span style="color:#0000ff;">srv_ADFS</span> when prompted then press <span style="color:#0000ff;">Enter</span> to continue</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You should get a message stating that the deployment was successful.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Type the following PowerShell command to verify that the service successfully installed: <span style="color:#0000ff;">Test-AdfsFarmInstallation -FederationServiceName sts.contoso.com</span> then enter the credentials for <span style="color:#0000ff;">CONTOSO\srv_ADFS</span> when prompted. Your output should be similar to the one shown in the following Figure.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-Test-ADFS.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_Test_2D00_ADFS.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-Test-ADFS.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_Test_2D00_ADFS.JPG" alt=" " border="0" /></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy CONTOSO&#39;s Second Federation Server</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: CONT-FS02</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.6</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.2</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">contoso.com</span> domain</li>
<li>After rebooting, log into the server using <span style="color:#0000ff;">CONTOSO</span> domain credentials (i.e. <span style="color:#0000ff;">CONTOSO\Administrator</span>)</li>
<li>Add AD FS to the server by typing the following command from an elevated PowerShell window: <span style="color:#0000ff;">Add-WindowsFeature ADFS-Federation -Includemanagementtools<br /></span></li>
<li>Copy the private keys that were exported from CONT-FS01 to CONT-FS02</li>
<li>Import the private keys to CONT-FS02<span style="color:#0000ff;"><br /></span><ol>
<li>Double click the PFX file and select <span style="color:#0000ff;">LocalMachine</span> then click <span style="color:#0000ff;">Next &gt; Next</span></li>
<li>Enter the password that you entered when you exported the private keys then click <span style="color:#0000ff;">Next</span></li>
<li>Select <span style="color:#0000ff;">Place all certificates in the following store &gt; Browse &gt; Personal &gt; OK &gt; Next &gt; Finish &gt; OK. <span style="color:#ff0000;">Note: As a best practice you should delete the PFX file once the certificates have been imported into the certificate store.</span></span></li>
</ol></li>
<li>Open the <span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">certificate management console and give the <span style="color:#0000ff;">srv_ADFS</span> service account rights to read the private keys</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Highlight a Certificate &gt; <span style="color:#0000ff;">Right Click &gt; All Tasks &gt; Manage Private Keys &gt; Add &gt; srv_ADFS &gt; Uncheck Full Control</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Click <span style="color:#0000ff;">OK</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Repeat for all 3 certificates</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open an elevated PowerShell window and type the following command: <span style="color:#0000ff;">dir cert:localmachine\my</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li>Open Notepad and copy and paste the service communications thumbprint (subject: <span style="color:#0000ff;">sts.contoso.com</span>) to the proper location within the following command after typing the following PowerShell command into the Notepad <br /><ol>
<li><span style="color:#0000ff;">$fsCred = Get-Credential</span></li>
<li><span style="color:#0000ff;">Add-AdfsFarmNode -ServiceAccountCredential $fsCred -SQLConnectionString &quot;Data Source=CONT-SQ01;Integrated Security=True&quot; -CertificateThumbprint &quot;&lt;thumbprint&gt;&quot; </span></li>
</ol></li>
<li><span style="color:#0000ff;"><span style="color:#000000;">The completed command should look similar to the one shown in the following Figure.</span><br /></span><ol>
<li><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-Install-ADFS-AddNode.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_Install_2D00_ADFS_2D00_AddNode.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-Install-ADFS-AddNode.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_Install_2D00_ADFS_2D00_AddNode.JPG" alt=" " border="0" /></a></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You should get a message stating that the deployment was successful.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Type the following PowerShell command to verify that the service successfully installed: <span style="color:#0000ff;">Test-AdfsFarmInstallation -FederationServiceName sts.contoso.com</span> then enter the credentials for <span style="color:#0000ff;">CONTOSO\srv_ADFS</span> when prompted. Your output should be similar to the one shown in the following Figure.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-Test-ADFS.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_Test_2D00_ADFS.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-Test-ADFS.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_Test_2D00_ADFS.JPG" alt=" " border="0" /></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>&nbsp;</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>&nbsp;Install Windows NLB (OPTIONAL)<br /></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">The following steps will make the AD FS deployment a highly available service. Typically in a production environment, a 3rd party load balancer is used to provide this functionality. If you choose to skip the deployment of Windows NLB or a 3rd party load balancer ensure to change the sts.contoso.com DNS A record IP address to point to either CONT-FS01 or CONT-FS02.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy NLB to CONT-FS01</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Log into <span style="color:#0000ff;">CONT-FS01</span> and open an elevated PowerShell window</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;Type the following commands to add NLB to CONT-FS01 and to configure the port rules<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#0000ff;">Add-WindowsFeature NLB,RSAT-NLB -IncludeManagementTools<br /></span></li>
<li><span style="color:#0000ff;">New-NlbCluster -Hostname CONT-FS01 -Interface &quot;Ethernet&quot; -ClusterName ADFSNLB -ClusterPrimaryIP 192.168.30.7 -SubnetMask 255.255.255.0 -OperationMode Multicast. <span style="color:#000000;">Note: if you are unsure of the Inteface name or this command fails type <span style="color:#0000ff;">Get-NetAdapter | fl name</span> to get the interface name</span><br /></span></li>
<li><span style="color:#0000ff;">Get-NlbClusterPortRule | Remove-NlbClusterPortRule -Force<br /></span></li>
<li><span style="color:#0000ff;">Add-NlbClusterPortRule -StartPort 443 -EndPort 443 -IP 192.168.30.7 -Protocol Tcp -Affinity Single -Interface &quot;Ethernet&quot;<br /></span></li>
<li><span style="color:#0000ff;">Add-NlbClusterPortRule -StartPort 49443 -EndPort 49443 -IP 192.168.30.7 -Protocol Tcp -Affinity Single -Interface &quot;Ethernet&quot;</span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the cluster is operational by typing the following command: <span style="color:#0000ff;">Get-NlbCluster</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#0000ff;"><br /></span></li>
</ol></li>
</ol>
<p style="margin-left:30px;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Deploy NLB to CONT-FS01</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color:#0000ff;"><br /></span></p>
<ol>
<li><span style="color:#000000;">Log into <span style="color:#0000ff;">CONT-FS02</span> and open an elevated PowerShell window</span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Type the following commands to add NLB to CONT-FS02</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /><ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#0000ff;">Add-WindowsFeature NLB,RSAT-NLB -IncludeManagementTools</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">Add-NlbClusterNode -NewNodeName CONT-FS02 -NewNodeInterface &quot;Ethernet&quot; -Hostname CONT-FS01 -Interface &quot;Ethernet&quot;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify that the cluster is fully converged by typing the following command: <span style="color:#0000ff;">Get-NlbCluster</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
</ol>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;">Verify NLB and AD FS Federation Metadata</span></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><strong><span style="color:#000000;"><br /></span></strong><span style="color:#000000;">Verify NLB is fully configured by going to the start screen &gt; type <span style="color:#0000ff;">network load balancing manager</span> then press enter. NLB should be similar to the one shown in the following Figure.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/2061.Display-Contoso-NLB-Converged.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/2061.Display_2D00_Contoso_2D00_NLB_2D00_Converged.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/2061.Display-Contoso-NLB-Converged.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/2061.Display_2D00_Contoso_2D00_NLB_2D00_Converged.JPG" alt=" " border="0" /></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Verify AD FS by typing the following URL into a browser window: <span style="color:#0000ff;">https://sts.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You should be presented with a federation metadata page similar to one of the ones shown below depending on your browser&#39;s trusted sites and compatibility mode configuration.</span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4331.Display-Contoso-Install-ADFS-FM1.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4331.Display_2D00_Contoso_2D00_Install_2D00_ADFS_2D00_FM1.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4331.Display-Contoso-Install-ADFS-FM1.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4331.Display_2D00_Contoso_2D00_Install_2D00_ADFS_2D00_FM1.JPG" alt=" " border="0" /></a><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4667.Display-Contoso-Install-ADFS-FM2.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4667.Display_2D00_Contoso_2D00_Install_2D00_ADFS_2D00_FM2.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/4667.Display-Contoso-Install-ADFS-FM2.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/4667.Display_2D00_Contoso_2D00_Install_2D00_ADFS_2D00_FM2.JPG" alt=" " border="0" /></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If you chose to deploy NLB or a 3rd party loadbalancer, ensure both nodes work as intended before proceeding by drainstopping one of the nodes (Powershell: <span style="color:#0000ff;">Stop-NlbClusterNode -Drain -Hostname CONT-FS01</span> or <span style="color:#0000ff;">CONT-FS02</span>). A common problem I have seen when dealing with clustering is that only one node works so users get intermittent errors that can be hard to troubleshoot since traffic occasionally hits the non-working node. <br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">If your environment is virtual and your hypervisor host is Hyper-V and the NLB VIP is unreachable outside of the NLB cluster&#39;s VLAN or you encounter intermittent connectivity problems to the VIP then try enabling MAC spoofing for the VM as explained <a href="https://blogs.msdn.com/b/clustering/archive/2010/07/01/10033544.aspx">here</a>. If your hypervisor is VMware, you may need a static mapped mac address entry to resolve the issue.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><br /><strong>Verify Service Principal Name</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Although the AD FS service automatically configures the SPN for the AD FS service account, I always like to verify that it is correct before proceeding. This will also ensure that another account does not have the same SPN which will prevent Kerberos from working. The following steps will verify the SPN.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Log into a CONTOSO member server.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">Open a command prompt and type the following commands</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><ol>
<li><span style="color:#0000ff;">setspn -X<br /></span></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;">setspn -L srv_adfs</span> <br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol></li>
<li><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">The resulting output should be similar to the output shown in the following Figure. Any duplicates should be resolved before continuing.<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ol>
<p></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SPN.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SPN.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SPN.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SPN.JPG" alt=" " border="0" /></a><br /></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><strong>Wrap-Up</strong><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">You now have two forests one named <span style="color:#0000ff;">contoso.com</span> and one named<span style="color:#0000ff;"> fabrikam.com</span> along with the DNS records, certificate services, database services, CONTOSO&#39;s and FABRIKAM&#39;s SharePoint Foundation 2013 services, and CONTOSO&#39;s Windows Server 2012 R2 AD FS services. In the upcoming parts FABRIKAM&#39;s AD FS services and both organization&#39;s Web Application Proxies will be deployed and configured to support federated web SSO.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#ff0000;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;"><span style="color:#0000ff;"><span style="color:#000000;">&nbsp;<strong>Troubleshooting</strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ul>
<li>If you cannot connect to the SQL server and the Windows Firewall is enabled ensure port TCP 1433 is enabled inbound on the Windows Firewall as per the following <a href="https://msdn.microsoft.com/en-us/library/ms175043.aspx#SSMSProcedure">instructions</a>.</li>
<li>If the installation of AD FS fails when connecting to SQL, verify that the service account has at least DB Owner on the SQL server for the target database</li>
<li>If you get an error when attempting to obtain a certificate ensure that Domain Computers have rights to read the Web Server template</li>
<li>If you get an error when attempting to obtain a certificate ensure that<strong> </strong>the CRL has not expired</li>
<li>If you get an error &quot;Install-AdfsFarm: Parameter set cannot be resolved...&quot; verify that the command and all parameters are properly spelled and that all mandatory parameters are present</li>
<li>If you get an error stating page cannot be found when viewing https://sts.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml verify that the sts.contoso.com record was created and points to either the AD FS server IP address or the NLB Virtual IP address (VIP)</li>
</ul>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Part 4b: Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Tue, 16 Sep 2014 15:38:00 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 4b of a multi-part series on how to deploy a complete end-to-end Federated Web SSO...]]></description>
      <content:encoded><![CDATA[<p>This is Part 4b of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2&#39;s AD FS role and the Web Application Proxy. In this part&nbsp;I will deploy FABRIKAM&#39;s SharePoint Foundation 2013 SP1 web server.&nbsp; I broke this part into 4a and 4b because installing SharePoint requires so many steps that I broke this post into two parts; CONTOSO&#39;s SharePoint installation and FABRIKAM&#39;s SharePoint installation. In case you missed it:</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a>&nbsp;- Overview</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services</p>
<p>Here is<a target="_blank" href="/b/platformspfe/archive/2014/09/16/part-4-windows-server-2012-r2-ad-fs-federated-web-sso.aspx"> Part 4a</a> - Installing CONTOSO&#39;s SharePoint Services</p>
<p><strong>Topology</strong></p>
<p><strong><br /></strong>The following topology highlights in yellow the two servers that will be built for parts 4a and 4b and where they fit into the overall topology. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/1732.ADFSTopology-Complete.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/1732.ADFSTopology_2D00_Complete.png">here</a>.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Build-SharePoint.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Build_2D00_SharePoint.png"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Build-SharePoint.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Build_2D00_SharePoint.png" alt=" " border="0" /></a></p>
<p><strong>Deploy FABRIKAM&#39;s SharePoint Foundation 2013 SP1 Server</strong></p>
<p><strong><br /></strong>The following steps will deploy SharePoint Foundation 2013 SP1 server. If you are deploying a different version of SharePoint consult the documentation of the version you are installing.<span style="color:#ff0000;"> IMPORTANT</span>: <span style="color:#ff0000;">You must use SharePoint Foundation 2013 with SP1 to successfully install SharePoint Foundation 2013 on Windows Server 2012 R2</span>. You can read more about the hardware and software requirements <a target="_blank" href="https://technet.microsoft.com/en-us/library/cc262485%28v=office.15%29.aspx#section4">here</a>.</p>
<ol>
<li>Log into the <span style="color:#0000ff;">FABRIKAM</span> domain controller (<span style="color:#0000ff;">FABR</span><span style="color:#0000ff;">-DC01</span>) and create a new Domain User called <span style="color:#0000ff;">srv_SP.</span></li>
<li>Log into the<span style="color:#0000ff;"> FABRIKAM </span>SQL server (<span style="color:#0000ff;">FABR-SQ01</span>) and give <span style="color:#0000ff;">srv_SP sysadmin</span> rights. <span style="color:#0000ff;"><br /></span><ol>
<li>Open <span style="color:#0000ff;">SQL Server Management studio &gt; Security &gt; Logins &gt; New Login &gt; Search &gt; Locations &gt; Entire Directory &gt; OK</span></li>
<li>Type <span style="color:#0000ff;">srv_SP &gt; OK</span></li>
<li>Select <span style="color:#0000ff;">Server Roles &gt; Check sysadmin &gt; OK</span></li>
<li>In a production environment the rights should be modified to give the service account the least permissions necessary after SharePoint is deployed.<span style="color:#0000ff;"><br /></span></li>
</ol></li>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: FABR-SP01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.22</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.20</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">fabrikam.com</span> domain</li>
<li>After rebooting, log into the server using<span style="color:#0000ff;"> FABRIKAM</span> domain credentials (i.e.<span style="color:#0000ff;"> FABRIKAM\Administrator</span>)</li>
<li>Disable Internet Explorer Enhanced Security Configuration (IE ESC)<br /><ol>
<li>Open <span style="color:#0000ff;">Server Manager &gt; Local Server &gt; IE Enhanced Security Configuration &gt; Administrators &gt; Off</span>. <span style="color:#ff0000;">Note: This should only be performed on lab servers for test purposes. </span></li>
</ol></li>
<li>If you are installing SharePoint Foundation 2013 SP1 to a Virtual Machine I recommend you take a snapshot of the Virtual Machine at this point so that in the event that the SharePoint&nbsp; install fails, you can revert to snapshot and try again vs. having to reinstall the Virtual Machine&#39;s Operating System.</li>
<li>Insert the Windows Server 2012 R2 installation media then run the following command from an elevated PowerShell window:<span style="color:#0000ff;"> Add-WindowsFeature Net-Framework-Core -Source &lt;driveletter&gt;:\sources\sxs</span>. This will add&nbsp; .NET Framework 3.5 to the server.</li>
<li>At this point I recommend you temporarily configure the server with an IP address that can reach the Internet since the prerequisite installer will attempt to connect to the Internet for most of the prerequisites. After obtaining the prerequisites or providing a means for the server to reach the Internet proceed to the next step.</li>
<li>Insert the SharePoint Foundation 2013 SP1 installation media then <span style="color:#0000ff;">right click &gt; Run as administrator&nbsp; </span>on the <span style="color:#0000ff;">prerequisiteinstaller</span> executable to start the installation.</li>
<li>Click <span style="color:#0000ff;">Next &gt; I Accept &gt; Next &gt;</span> to begin the prerequisites installation.</li>
<li>Click <span style="color:#0000ff;">Finish</span> to reboot the server when prompted.</li>
<li>The prerequisites installer will install more prerequisites then click <span style="color:#0000ff;">Finish</span> to reboot when prompted.</li>
<li>Click <span style="color:#0000ff;">Finish</span> once the prerequisites have successfully installed, the server will reboot again.</li>
<li>Click <span style="color:#0000ff;">Finish</span> to complete the prerequisites installation.</li>
<li>At this point change the IP address back to the lab subnet if needed. For this blog I changed the IP address back to <span style="color:#0000ff;">192.168.30.22/24</span> with a DNS server IP address of <span style="color:#0000ff;">192.168.30.20</span>.</li>
<li>Double click <span style="color:#0000ff;">Setup</span> from the SharePoint Foundation 2013 SP1 media to begin the installation SharePoint.</li>
<li>Click<span style="color:#0000ff;"> I Accept &gt; Continue &gt; Select Complete &gt; Install Now</span></li>
<li>Click <span style="color:#0000ff;">Close</span> to run the SharePoint configuration wizard<span style="color:#0000ff;"><br /></span></li>
<li>Click <span style="color:#0000ff;">Next &gt; Yes &gt; Create a new server farm &gt; Next</span>.</li>
<li>For the Database server type<span style="color:#0000ff;"> FABR-SQ01</span></li>
<li>For the Username type<span style="color:#0000ff;"> FABRIKAM\srv_SP</span>, enter the <span style="color:#0000ff;">Password</span> then click <span style="color:#0000ff;">Next</span></li>
<li>Enter a <span style="color:#0000ff;">passphrase</span> when prompted then click <span style="color:#0000ff;">Next</span>.</li>
<li>Select <span style="color:#0000ff;">Negotiate (Kerberos)</span> then click <span style="color:#0000ff;">Next</span></li>
<li>Click <span style="color:#0000ff;">Yes to use Kerberos &gt; Next</span> &gt; after the installation is complete click <span style="color:#0000ff;">Finish</span>.</li>
<li>Select whether you wish to participate in the Customer Experience Improvement Program then click <span style="color:#0000ff;">OK</span>.</li>
<li>You should now be able to view FABRIKAM&#39;s Central Admin page as shown in the following Figure.</li>
</ol>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SP.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SP.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SP.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SP.JPG" alt=" " border="0" /></a></p>
<p><strong>Configure FABRIKAM&#39;s SharePoint Foundation 2013 SP1 Server</strong></p>
<p><strong><br /></strong>The following steps will complete the configuration of FABRIKAM&#39;s SharePoint server and will create the SharePoint Application that will later be used by federated users.</p>
<ol>
<li>From the Central Administration page shown in the preceding Figure, click <span style="color:#0000ff;">Start the Wizard</span></li>
<li>Select Use an existing managed account, leave everything else at their defaults then click Next. <span style="color:#ff0000;">Note: A new account should be used here for a production environment</span></li>
<li>Once the farm is created enter the following information to create a site Collection<span style="color:#ff0000;"><br /></span><ol>
<li>Title: <span style="color:#0000ff;">FABRIKAM SharePoint</span></li>
<li>Description: <span style="color:#0000ff;">FABRIKAM&#39;s Portal</span></li>
<li>Template: <span style="color:#0000ff;">Team Site</span></li>
<li>Click <span style="color:#0000ff;">OK</span></li>
</ol></li>
<li>Click <span style="color:#0000ff;">Finish</span></li>
<li>Click <span style="color:#0000ff;">Application Management &gt; Configure Alternate Access Mappings</span><span style="color:#0000ff;"><br /></span></li>
<li>Highlight <span style="color:#0000ff;">https://fabr-sp01</span> as shown in the following figure then click <span style="color:#0000ff;">Edit Public URLs</span></li>
<li style="text-align:center;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SP-AAM.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SP_2D00_AAM.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SP-AAM.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SP_2D00_AAM.JPG" alt=" " border="0" /></a></li>
<li>Under Alternate Access Mapping Collection change &quot;<span style="color:#0000ff;">No Selection</span>&quot; to <span style="color:#0000ff;">SharePoint - 80</span></li>
<li>Type <span style="color:#0000ff;">https://www.fabrikam.com</span> for the <span style="color:#0000ff;">Default URL</span> then click <span style="color:#0000ff;">Save</span>.</li>
<li>Click <span style="color:#0000ff;">Application Management &gt;</span> <span style="color:#0000ff;">Manage Web Applications &gt; Highlight SharePoint -80 &gt; Authentication Providers</span></li>
<li>Click <span style="color:#0000ff;">Default </span>then click <span style="color:#0000ff;">Enable Anonymous Access</span></li>
<li>Ensure <span style="color:#0000ff;">Integrated Windows authentication</span> is set to <span style="color:#0000ff;">Negotiate (Kerberos)</span> then click <span style="color:#0000ff;">Save<br /></span></li>
<li>Close the dialogue box then click<span style="color:#0000ff;"> Anonymous Policy</span>. Select <span style="color:#0000ff;">Deny Write - Has no write Access</span> then click <span style="color:#0000ff;">Save</span>.<span style="color:#0000ff;"><br /></span></li>
<li>Open an Elevated PowerShell window and type the following command: <span style="color:#0000ff;">Get-Certificate -Template WebServer -DnsName www.fabrikam.com -CertStoreLocation cert:\LocalMachine\My</span></li>
<li>You should now have a web server certificate with a subject name of <span style="color:#0000ff;">www.fabrikam.com<br /></span></li>
<li>Configure IIS Bindings for the new certificate<ol>
<li><span style="color:#0000ff;">Open IIS Manager &gt; Expand Sites &gt; Highlight SharePoint - 80 &gt; Click Bindings<br /></span></li>
<li><span style="color:#0000ff;">Click Add &gt; https</span></li>
<li><span style="color:#0000ff;">Select the certificate you just obtained then click OK &gt; Close</span></li>
</ol></li>
<li>Open an elevated PowerShell command prompt and type the following command <span style="color:#0000ff;">setspn -S HTTP/www.fabrikam.com srv_SP</span></li>
<li>Open a web browser and type the following URL:<span style="color:#0000ff;"> https://www.fabrikam.com. <span style="color:#000000;">If you get a username/password prompt enter<span style="color:#0000ff;"> FABRIKAM\Administrator</span> and the Password then click <span style="color:#0000ff;">OK</span>.</span><br /></span></li>
<li>The portal should appear as shown in the following Figure.</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SP-Initial.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SP_2D00_Initial.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SP-Initial.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SP_2D00_Initial.JPG" alt=" " border="0" /></a></li>
<li>Click the gear icon in the upper right corner &gt; <span style="color:#0000ff;">Site Settings &gt; Site Permissions</span></li>
<li>Click <span style="color:#0000ff;">Anonymous Access &gt; Anonymous users can access &gt; Entire Web Site &gt; Click OK</span></li>
<li>Clear out all cookies and close and re-open the browser. You should now be able to view FABRIKAM&#39;s SharePoint portal anonymously. As shown in the following Figure.</li>
</ol>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SP-Anonymous.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SP_2D00_Anonymous.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Fabrikam-SP-Anonymous.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Fabrikam_2D00_SP_2D00_Anonymous.JPG" alt=" " border="0" /></a></p>
<p><strong>Wrap-Up</strong></p>
<p><br />You now have two forests one named <span style="color:#0000ff;">contoso.com</span> and one named<span style="color:#0000ff;"> fabrikam.com</span> along with the DNS records, certificate services, database services, CONTOSO&#39;s SharePoint Foundation 2013 SP1 services, and FABRIKAM&#39;s SharePoint Foundation 2013 SP1&nbsp; needed to support AD FS. In the upcoming parts the CONTOSO&#39;s and FABRIKAM&#39;s federation services and Web Application Proxies will be deployed and configured to support federated web SSO.</p>
<p><br /><strong>Troubleshooting</strong></p>
<ul>
<li>If you cannot connect to the SQL server and the Windows Firewall is enabled ensure port TCP 1433 is enabled inbound on the Windows Firewall as per the following <a href="https://msdn.microsoft.com/en-us/library/ms175043.aspx#SSMSProcedure">instructions</a>.</li>
<li>If SharePoint fails to install with an error stating that it cannot configure the Application IIS server ensure you are installing a version of SharePoint 2013 with SP1 integrated into it.</li>
<li>If the installation of SharePoint fails half way through the install, verify that the service account has at least DB Owner on the SQL server for the target database</li>
<li>If you get an error when attempting to obtain a certificate ensure that Domain Computers have rights to read the Web Server template</li>
<li>If you get an error when attempting to obtain a certificate ensure that<strong> </strong>the CRL has not expired</li>
<li>If you get repeated password prompts when viewing the portal even after it is set to anonymous, ensure the Web Application is set to Negotiate (Kerberos)</li>
<li>If the page displays page not found ensure you created an A record for the site in DNS</li>
</ul>
<p style="padding:0;margin:0;"></p>]]></content:encoded>
    </item>
    <item>
      <title>Part 4a: Windows Server 2012 R2 AD FS - Federated Web SSO</title>
      <link>https://docs.microsoft.com/archive/blogs/platformspfe/part-4a-windows-server-2012-r2-ad-fs-federated-web-sso</link>
      <pubDate>Tue, 16 Sep 2014 15:38:00 GMT</pubDate>
      <dc:creator><![CDATA[PlatformsPFE]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/platformspfe/2014/09/16/part-4a-windows-server-2012-r2-ad-fs-federated-web-sso/</guid>
      <description><![CDATA[This is Part 4a of a multi-part series on how to deploy a complete end-to-end Federated Web SSO...]]></description>
      <content:encoded><![CDATA[<p>This is Part 4a of a multi-part series on how to deploy a complete end-to-end Federated Web SSO solution using Windows Server 2012 R2&#39;s AD FS role and the Web Application Proxy. In this part&nbsp;I will deploy CONTOSO&#39;s&nbsp; SharePoint Foundation 2013 SP1 web server.&nbsp; I broke this part into 4a and 4b because installing SharePoint requires so many steps that I broke this post into two parts; CONTOSO&#39;s SharePoint installation and FABRIKAM&#39;s SharePoint installation. In case you missed it:</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/28/part-1-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 1</a>&nbsp;- Overview</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/08/29/part-2-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 2</a> - Installing AD DS, AD CS, and DNS Records</p>
<p>Here is <a target="_blank" href="/b/platformspfe/archive/2014/09/02/part-3-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Part 3</a> - Installing SQL Database Services</p>
<p><strong>Topology</strong></p>
<p><strong><br /></strong>The following topology highlights in yellow the two servers that will be built for parts 4a and 4b and where they fit into the overall topology. If you wish to see the full topology click <a target="_blank" href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/1732.ADFSTopology-Complete.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/1732.ADFSTopology_2D00_Complete.png">here</a>.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Build-SharePoint.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Build_2D00_SharePoint.png"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Build-SharePoint.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Build_2D00_SharePoint.png" alt=" " border="0" /></a></p>
<p><strong>Background</strong></p>
<p>Windows Server AD FS 2012 R2 provides trusts between organizations however the end users need a service to connect to in order to utilize that trust. SharePoint 2013 which will be deployed in this post will ultimately be the endpoint that users in the CONTOSO and FABRIKAM forests access and present federated identities to. I recommend studying the hardware and software requirements for SharePoint 2013 prior to deployment. For simplicity purposes, SharePoint Foundation 2013 SP1 will be used as a part of this blog series.</p>
<p><br />SharePoint 2013: <a target="_blank" href="https://technet.microsoft.com/en-us/library/cc262485%28v=office.15%29.aspx">Hardware and Software Requirements for SharePoint 2013</a></p>
<p>SharePoint Foundation 2013 with SP1: <a target="_blank" href="https://www.microsoft.com/en-us/download/details.aspx?id=42039">Additional Information / Download</a></p>
<p></p>
<p><strong>OPTIONAL: Create ISO of SharePoint Foundation 2013 SP1 Installation</strong></p>
<p>All of the servers and clients in this blog post are virtual and the first thing I ran into was that the SharePoint Foundation 2013 SP1 server installation files were contained in an executable. So I converted them to an ISO which is easier to mount and present to virtual machines using the following steps.</p>
<ol>
<li>Download the SharePoint.exe executable file</li>
<li>Open a PowerShell Window and navigate to the download location</li>
<li>Type the following command from the PowerShell window: <span style="color:#0000ff;">.\&lt;name of file&gt;.exe /extract</span></li>
<li>Select a location to extract the files to then click OK.</li>
<li>Obtain a copy of oscdimg.exe. Click <a target="_blank" href="https://technet.microsoft.com/en-us/library/cc749036%28v=WS.10%29.aspx">here</a> to read more about it.</li>
<li>Type the following command from a PowerShell window: <span style="color:#0000ff;">.\oscdimg -n -d -m &quot;sourcedirectory&quot; &quot;targetfile&quot;</span></li>
<li><span style="color:#000000;">You should now have an ISO of the SharePoint Foundation 2013 installation media</span></li>
</ol>
<p></p>
<p><strong>Deploy CONTOSO&#39;s SharePoint Foundation 2013 SP1 Server</strong></p>
<p><strong><br /></strong>The following steps will deploy SharePoint Foundation 2013 SP1 server. If you are deploying a different version of SharePoint consult the documentation of the version you are installing.<span style="color:#ff0000;"> IMPORTANT</span>: <span style="color:#ff0000;">You must use SharePoint Foundation 2013 with SP1 to successfully install SharePoint Foundation 2013 on Windows Server 2012 R2</span>. You can read more about the hardware and software requirements <a target="_blank" href="https://technet.microsoft.com/en-us/library/cc262485%28v=office.15%29.aspx#section4">here</a>.</p>
<ol>
<li>Log into the <span style="color:#0000ff;">CONTOSO</span> domain controller (<span style="color:#0000ff;">CONT-DC01</span>) and create a new Domain User called <span style="color:#0000ff;">srv_SP.</span></li>
<li>Log into the<span style="color:#0000ff;"> CONTOSO</span> SQL server (<span style="color:#0000ff;">CONT-SQ01</span>) and give <span style="color:#0000ff;">srv_SP sysadmin</span> rights. <span style="color:#0000ff;"><br /></span><ol>
<li>Open <span style="color:#0000ff;">SQL Server Management studio &gt; Security &gt; Logins &gt; New Login &gt; Search &gt; Locations &gt; Entire Directory &gt; OK</span></li>
<li>Type <span style="color:#0000ff;">srv_SP &gt; OK</span></li>
<li>Select <span style="color:#0000ff;">Server Roles &gt; Check sysadmin &gt; OK</span></li>
<li>In a production environment the rights should be modified to give the service account the least permissions necessary after SharePoint is deployed.<span style="color:#0000ff;"><br /></span></li>
</ol></li>
<li>Deploy a Windows Server 2012 R2 workgroup server and configure the IP addess, subnet mask, hostname, and DNS servers. For the purposes of this series the information will be as follows:<ol>
<li><span style="color:#0000ff;">Hostname: CONT-SP01</span></li>
<li><span style="color:#0000ff;">IP Address: 192.168.30.4</span></li>
<li><span style="color:#0000ff;">Subnet Mask: 255.255.255.0</span></li>
<li><span style="color:#0000ff;">DNS Servers: 192.168.30.2</span></li>
</ol></li>
<li>Join the <span style="color:#0000ff;">contoso.com</span> domain</li>
<li>After rebooting, log into the server using<span style="color:#0000ff;"> CONTOSO</span> domain credentials (i.e.<span style="color:#0000ff;"> CONTOSO\Administrator</span>)</li>
<li>Disable Internet Explorer Enhanced Security Configuration (IE ESC)<br /><ol>
<li>Open <span style="color:#0000ff;">Server Manager &gt; Local Server &gt; IE Enhanced Security Configuration &gt; Administrators &gt; Off</span>. <span style="color:#ff0000;">Note: This should only be performed on lab servers for test purposes. </span></li>
</ol></li>
<li>If you are installing SharePoint Foundation 2013 SP1 to a Virtual Machine I recommend you take a snapshot of the Virtual Machine at this point so that in the event that the SharePoint&nbsp; install fails, you can revert to snapshot and try again vs. having to reinstall the Virtual Machine&#39;s Operating System.</li>
<li>Insert the Windows Server 2012 R2 installation media then run the following command from an elevated PowerShell window:<span style="color:#0000ff;"> Add-WindowsFeature Net-Framework-Core -Source &lt;driveletter&gt;:\sources\sxs</span>. This will add&nbsp; .NET Framework 3.5 to the server.</li>
<li>At this point I recommend you temporarily configure the server with an IP address that can reach the Internet since the prerequisite installer will attempt to connect to the Internet for most of the prerequisites. After obtaining the prerequisites or providing a means for the server to reach the Internet proceed to the next step.</li>
<li>Insert the SharePoint Foundation 2013 SP1 installation media then <span style="color:#0000ff;">right click &gt; Run as administrator&nbsp; </span>on the <span style="color:#0000ff;">prerequisiteinstaller</span> executable to start the installation.</li>
<li>Click <span style="color:#0000ff;">Next &gt; I Accept &gt; Next &gt;</span> to begin the prerequisites installation.</li>
<li>Click <span style="color:#0000ff;">Finish</span> to reboot the server when prompted.</li>
<li>The prerequisites installer will install more prerequisites then click <span style="color:#0000ff;">Finish</span> to reboot when prompted.</li>
<li>Click <span style="color:#0000ff;">Finish</span> once the prerequisites have successfully installed, the server will reboot again.</li>
<li>Click <span style="color:#0000ff;">Finish</span> to complete the prerequisites installation.</li>
<li>At this point change the IP address back to the lab subnet if needed. For this blog I changed the IP address back to <span style="color:#0000ff;">192.168.30.4/24</span> with a DNS server IP address of <span style="color:#0000ff;">192.168.30.2</span>.</li>
<li>Double click <span style="color:#0000ff;">Setup</span> from the SharePoint Foundation 2013 SP1 media to begin the installation SharePoint.</li>
<li>Click<span style="color:#0000ff;"> I Accept &gt; Continue &gt; Select Complete &gt; Install Now</span></li>
<li>Click <span style="color:#0000ff;">Close</span> to run the SharePoint configuration wizard<span style="color:#0000ff;"><br /></span></li>
<li>Click <span style="color:#0000ff;">Next &gt; Yes &gt; Create a new server farm &gt; Next</span>.</li>
<li>For the Database server type<span style="color:#0000ff;"> CONT-SQ01</span></li>
<li>For the Username type<span style="color:#0000ff;"> CONTOSO\srv_SP</span>, enter the <span style="color:#0000ff;">Password</span> then click <span style="color:#0000ff;">Next</span></li>
<li>Enter a <span style="color:#0000ff;">passphrase</span> when prompted then click <span style="color:#0000ff;">Next</span>.</li>
<li>Select <span style="color:#0000ff;">Negotiate (Kerberos)</span> then click <span style="color:#0000ff;">Next</span></li>
<li>Click <span style="color:#0000ff;">Yes to use Kerberos &gt; Next</span> &gt; after the installation is complete click <span style="color:#0000ff;">Finish</span>.</li>
<li>Select whether you wish to participate in the Customer Experience Improvement Program then click <span style="color:#0000ff;">OK</span>.</li>
<li>You should now be able to view CONTOSO&#39;s Central Admin page as shown in the following Figure.</li>
</ol>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SP.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SP.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SP.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SP.JPG" alt=" " border="0" /></a></p>
<p><strong>Configure CONTOSO&#39;s SharePoint Foundation 2013 SP1 Server</strong></p>
<p><strong><br /></strong>The following steps will complete the configuration of CONTOSO&#39;s SharePoint server and will create the SharePoint Application that will later be used by federated users.</p>
<ol>
<li>From the Central Administration page shown in the preceding Figure, click <span style="color:#0000ff;">Start the Wizard</span></li>
<li>Select Use an existing managed account, leave everything else at their defaults then click Next. <span style="color:#ff0000;">Note: A new account should be used here for a production environment</span></li>
<li>Once the farm is created enter the following information to create a site Collection<span style="color:#ff0000;"><br /></span><ol>
<li>Title: <span style="color:#0000ff;">CONTOSO SharePoint</span></li>
<li>Description: <span style="color:#0000ff;">CONTOSO&#39;s Portal</span></li>
<li>Template: <span style="color:#0000ff;">Team Site</span></li>
<li>Click <span style="color:#0000ff;">OK</span></li>
</ol></li>
<li>Click <span style="color:#0000ff;">Finish</span></li>
<li>Click <span style="color:#0000ff;">Application Management &gt; Configure Alternate Access Mappings</span><span style="color:#0000ff;"><br /></span></li>
<li>Highlight <span style="color:#0000ff;">https://cont-sp01</span> as shown in the following figure then click <span style="color:#0000ff;">Edit Public URLs</span></li>
<li style="text-align:center;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SP-AAM.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SP_2D00_AAM.JPG"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SP-AAM.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SP_2D00_AAM.JPG" alt=" " border="0" /></a></li>
<li>Under Alternate Access Mapping Collection change &quot;<span style="color:#0000ff;">No Selection</span>&quot; to <span style="color:#0000ff;">SharePoint - 80</span></li>
<li>Type <span style="color:#0000ff;">https://www.contoso.com</span> for the <span style="color:#0000ff;">Default URL</span> then click <span style="color:#0000ff;">Save</span>.</li>
<li><span style="color:#0000ff;"><span style="color:#000000;">Click</span> <span style="color:#0000ff;">Application Management &gt;</span> <span style="color:#0000ff;">Manage Web Applications &gt; Highlight SharePoint -80 &gt; Authentication Providers</span></span></li>
<li>Click <span style="color:#0000ff;">Default</span> then click <span style="color:#0000ff;">Enable Anonymous Access</span></li>
<li>Ensure <span style="color:#0000ff;">Integrated Windows authentication</span> is set to <span style="color:#0000ff;">Negotiate (Kerberos)</span> then click <span style="color:#0000ff;">Save<br /></span></li>
<li>Close the dialogue box then click<span style="color:#0000ff;"> Anonymous Policy</span>. Select <span style="color:#0000ff;">Deny Write - Has no write Access</span> then click <span style="color:#0000ff;">Save</span>.<span style="color:#0000ff;"><br /></span></li>
<li>Open an Elevated PowerShell window and type the following command: <span style="color:#0000ff;">Get-Certificate -Template WebServer -DnsName www.contoso.com -CertStoreLocation cert:\LocalMachine\My</span></li>
<li>You should now have a web server certificate with a subject name of <span style="color:#0000ff;">www.contoso.com<br /></span></li>
<li>Configure IIS Bindings for the new certificate<ol>
<li><span style="color:#0000ff;">Open IIS Manager &gt; Expand Sites &gt; Highlight SharePoint - 80 &gt; Click Bindings<br /></span></li>
<li><span style="color:#0000ff;">Click Add &gt; https</span></li>
<li><span style="color:#0000ff;">Select the certificate you just obtained then click OK &gt; Close</span></li>
</ol></li>
<li>Open an elevated PowerShell command prompt and type the following command <span style="color:#0000ff;">setspn -S HTTP/www.contoso.com srv_SP</span></li>
<li>Open a web browser and type the following URL:<span style="color:#0000ff;"> https://www.contoso.com. <span style="color:#0000ff;"><span style="color:#000000;">If you get a username/password prompt enter<span style="color:#0000ff;"> CONTSO\Administrator</span> and the Password then click <span style="color:#0000ff;">OK</span>.</span></span><br /></span></li>
<li>The portal should appear as shown in the following Figure.</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SP-Wizard.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SP_2D00_Wizard.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SP-Wizard.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SP_2D00_Wizard.JPG" alt=" " border="0" /></a></li>
<li>Click the gear icon in the upper right corner &gt; <span style="color:#0000ff;">Site Settings &gt; Site Permissions</span></li>
<li>Click <span style="color:#0000ff;">Anonymous Access &gt; Anonymous users can access &gt; Entire Web Site &gt; Click OK</span></li>
<li>Clear out all cookies and close and re-open the browser. You should now be able to view CONTOSO&#39;s SharePoint portal anonymously. As shown in the following Figure.</li>
</ol>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SP-Anonymous.JPG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SP_2D00_Anonymous.JPG"><img style="display:block;margin-left:auto;margin-right:auto;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/00/74/Display-Contoso-SP-Anonymous.JPG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-00-74/Display_2D00_Contoso_2D00_SP_2D00_Anonymous.JPG" alt=" " border="0" /></a></p>
<p><strong>Wrap-Up</strong></p>
<p><br />You now have two forests one named <span style="color:#0000ff;">contoso.com</span> and one named<span style="color:#0000ff;"> fabrikam.com</span> along with the DNS records, certificate services, database services, and CONTOSO&#39;s SharePoint Foundation 2013 services&nbsp; needed to support AD FS. In part 4b SharePoint Foundation 2013 SP1 will be deployed in FABRIKAM&#39;s forest.<br /><br /></p>
<p><a href="/b/platformspfe/archive/2014/09/16/part-4b-windows-server-2012-r2-ad-fs-federated-web-sso.aspx">Click here to proceed with the steps to deploy FABRIKAM&#39;s SharePoint Foundation 2013 SP1 services.</a></p>
<p><br /><strong>Troubleshooting</strong></p>
<ul>
<li>If you cannot connect to the SQL server and the Windows Firewall is enabled ensure port TCP 1433 is enabled inbound on the Windows Firewall as per the following <a href="https://msdn.microsoft.com/en-us/library/ms175043.aspx#SSMSProcedure">instructions</a>.</li>
<li>If SharePoint fails to install with an error stating that it cannot configure the Application IIS server ensure you are installing a version of SharePoint 2013 with SP1 integrated into it.</li>
<li>If the installation of SharePoint fails half way through the install, verify that the service account has at least DB Owner on the SQL server for the target database</li>
<li>If you get an error when attempting to obtain a certificate ensure that Domain Computers have rights to read the Web Server template</li>
<li>If you get an error when attempting to obtain a certificate ensure that<strong> </strong>the CRL has not expired</li>
<li>If you get repeated password prompts when viewing the portal even after it is set to anonymous, ensure the Web Application is set to Negotiate (Kerberos)</li>
<li>If the page displays page not found ensure you created an A record for the site in DNS</li>
</ul>]]></content:encoded>
    </item>
  </channel>
</rss>