<?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>Mir's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/mir/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/mir/feed.xml</link>
    <description>I am working with Microsoft as Infrastructure Consultant</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:28:54 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Accessing Resources across forest and achieve Single Sign ON (Part1)</title>
      <link>https://docs.microsoft.com/archive/blogs/mir/accessing-resources-across-forest-and-achieve-single-sign-on-part1</link>
      <pubDate>Sun, 12 Jun 2011 02:01:00 GMT</pubDate>
      <dc:creator><![CDATA[Mubashir Mir]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mir/2011/06/12/accessing-resources-across-forest-and-achieve-single-sign-on-part1/</guid>
      <description><![CDATA[Accessing Resources across forest and achieve Single Sign ON (Part1)
This document focuses on the...]]></description>
      <content:encoded><![CDATA[<p><b><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">Accessing Resources across forest and achieve Single Sign ON (Part1)</span></span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">This document focuses on the options which can be utilized achieving the single sign on while accessing resources across the forests in different scenarios outlined below.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Mergers and acquisition</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Mergers and acquisition is one of the common scenarios we face in today&rsquo;s world where companies having two different IT infrastructure running different platforms and applications, most of the time mergers and acquisition of the companies end up with merging their IT infrastructure as well but depending on the size of the companies and their IT infrastructure there is always a period of coexistence when both IT infrastructure are to be in fully functional mode and need some kind integration, or there might be a situation where IT heads and Application owners take decision about not migrating their applications across the forest, or legal boundaries and geographical boundaries do not allow companies to host their applications across the geographical boundaries but the identity objects are hosted in a directory services hosted in different geographical location than the application resources, there can be many more situation where resources are in one forest and user identities are in another forest and users would like to have single sing on experience maintaining the security of the resources and directory systems.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">There is a lot of information available on the net in bits and pieces, I am trying to gather and put the information together, for easy understand we will take an example of two different forests contoso.com and fab.com, contoso.com is an account forest and also has some local application servers, and fab.com is a resource forest which has some application servers and users from contoso.com need to access the applications in fab.com</span></span></p>
<p style="text-align: center;"><span style="font-size: small;"><span style="font-family: Calibri;">&nbsp;</span></span><span style="font-family: Calibri; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/3005.Draw1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/3005.Draw1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/3005.Draw1.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/3005.Draw1.jpg" border="0" /></a>&nbsp;&nbsp;</span></p>
<p align="center"><span style="font-size: small;"><span style="font-family: Calibri;">Diagram 1</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Both contoso.com and fab.com are situated in two different geographical location protected with firewall, while we design the single sign on solution for such scenario we need to consider following.</span></span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Network connectivity between Contoso.com and Fab.com</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Name resolution between Contoso.com and Fab.com</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">3.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Security</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">4.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">High availability</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">5.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: Calibri;"><span style="font-size: small;">Authentication and Authorization</span></span></li>
</ol>
<p><b><i><span style="font-family: Calibri;"><span style="font-size: small;">Network Connectivity between Contoso.com and Fab.com</span></span></i></b></p>
<p><span style="font-family: Calibri;"><span style="font-size: small;">As mentioned above contoso.com and fab.com are two different IT infrastructure situated in two different geographical locations and we need to have some means of connectivity between contoso.com and fab.com, keeping high availability and best practices in mind it is recommended to have dual connectivity links between two organizations and depending on the SLA of your ISP, it is worth having two different ISP providers providing network connectivity services, planning network connectivity should include the redundancy of every component of the network, firewall, routers, switches, network cards etc. so that if any one of the component along the way fails the redundancy of the component will cover the failure and prevent service interruption for users and also ensure that only required ports are opened on the firewall to ensure the security of the active directory and other application servers. Detailed planning of the networking is beyond the scope of this document</span></span></p>
<p><span style="font-family: Calibri;"><span style="font-size: small;">This document will focus on three options to achieve single sign on across</span></span></p>
<p><span style="font-family: Calibri;"><span style="font-size: small;">Part 1: Singe sing on with active directory forest trust</span></span></p>
<p><span style="font-family: Calibri;"><span style="font-size: small;">Part 2: Single sign on with Active directory Lightweight directory service</span></span></p>
<p><span style="font-family: Calibri;"><span style="font-size: small;">Part 3: Active Directory Federation Service</span></span></p>
<p><b><i><span style="text-decoration: underline;"><span style="font-family: Calibri;"><span style="font-size: small;">Active Directory Forest Trust</span></span></span></i></b></p>
<p><b><span style="text-decoration: underline;"><span style="font-family: Calibri;"><span style="font-size: small;">Trust Overview</span></span></span></b></p>
<ul>
<li><span style="font-size: small;">&middot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">A trust is a relationship established between domains that enable users in one domain to be authenticated by a domain controller in the other domain.</span></span></li>
</ul>
<p><b><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">Trust Architecture</span></span></span></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Trust is creating secure channel between two domains, two forests or two realms the authentications coming from the other domains, forest, or realms. There are numerous number of components help to form the trust architecture such as authentication protocols (Kerberos, NTLM), the Net Logon service, the Local Security Authority (LSA), and the Trusted Domain Objects (TDOs) stored in Active Directory. </span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">The trust relationships that we can view in Active Directory Domains and Trusts is represented by Trusted Domain Objects (TDO) stored in the System container within its domain. For a domain trust, attributes such as the DNS domain name, domain SID, trust type, trust transitivity, and the reciprocal domain name are represented in the TDO.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">The architecture of trusts comprises a range of mutually dependent components; these components contain authentication, the Net Logon service and AD DS, which all rely on DNS to locate domain service records. AD DS provides the base for trust relationships by supplying a central management system through which domain administrators can grant access to trusted authorities in other domains. Trusts then provide the mechanism of authentication between domains or forests. </span></span></p>
<p><b><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">Trust Directions</span></span></span></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">The direction that a trust is assigned determines the valid trust path used for authentication. A trust path is defined by the series of trust relationships that authentication requests must follow between domains. Before a user can access a resource in another domain, the security system on domain controllers running on Windows 2003 Server or Windows Server&nbsp;2008 must determine whether the trusting domain has a trust relationship with the trusted domain. To determine this, the security system computes the trust path between a domain controller in the trusting domain and a domain controller in the trusted domain. All domain trust relationships have only two domains: the trusting domain and the trusted domain.</span></span></p>
<p align="center"><span style="font-family: Calibri; font-size: small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/0172.Drawing2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/0172.Drawing2.jpg"><img height="241" width="485" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/0172.Drawing2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/0172.Drawing2.jpg" border="0" /></a></span></p>
<p align="center"><span style="font-size: small;"><span style="font-family: Calibri;">Diagram 2</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">There are four types of Trust available </span></span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">External Trust</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Realm Trust</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">3.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Forest Trust</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">4.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Shortcut trust</span></span></li>
</ol>
<p><span style="font-family: Calibri; font-size: small;">For more information about the trust, refer to article </span><a href="https://technet.microsoft.com/en-us/library/cc775736(WS.10).aspx"><span style="font-family: Calibri; color: #0000ff; font-size: small;">https://technet.microsoft.com/en-us/library/cc775736(WS.10).aspx</span></a><span style="font-size: small;"><span style="font-family: Calibri;"> </span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">In this document we will focus on Forest Trust, there are two types of forest trusts</span></span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">One Way Forest Trust</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Two Way Forest Trust</span></span></li>
</ol>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Both one way and two way forest trust are transitive in nature, transitive trust extends the trust relation other domains in the forest; by default all domains in a forest are transitive in nature</span></span></p>
<p><b><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">Trusted Domain Object</span></span></span></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Trusted domain objects (TDOs) are objects that represent each trust relationship within a particular domain. Each time that a trust is established, a unique TDO is created and stored in its domain (in the System container). Attributes such as trust transitivity, type, and the reciprocal domain names are represented in the TDO.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Forest trust TDOs store additional attributes to identify all the trusted namespaces from its partner forest. These attributes include domain tree names, user principal name (UPN) suffixes, service principal name (SPN) suffixes, and security identifier (SID) namespaces.</span></span></p>
<p><b><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">Impact Analysis</span></span></span></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Opening the forest trust will introduce the following impacts to both ends of the trust; the following lists the identified impacts and its mitigating measures to minimize impacts.</span></span></p>
<table width="98%" cellpadding="0" cellspacing="0" border="0">
<thead>
<tr>
<td width="40%" valign="top">
<p><b><span style="font-size: small;"><span style="font-family: Calibri;">Impacts</span></span></b></p>
</td>
<td width="59%" valign="top">
<p><b><span style="font-size: small;"><span style="font-family: Calibri;">Mitigation</span></span></b></p>
</td>
</tr>
<tr>
<td width="40%" valign="top">
<p><b><span style="font-size: small;"><span style="font-family: Calibri;">Security - Kerberos Delegation</span></span></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Agency application will be able to authenticate on behalf of users</span></span></p>
</td>
<td width="59%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Preventing sensitive user accounts to be delegated.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">For application using the Kerberos delegation, it is recommended to be configured with <b>Constrained Delegation</b>, where the service account can only perform delegation of user accounts to limited set of functionalities within agency applications</span></span></p>
<p><span style="font-family: Calibri; font-size: small;">For more information on Kerberos Constrained Delegation, refer to </span><a href="https://technet.microsoft.com/en-us/library/cc739587(WS.10).aspx"><span style="font-family: Calibri; color: #0000ff; font-size: small;">https://technet.microsoft.com/en-us/library/cc739587(WS.10).aspx</span></a><span style="font-size: small;"><span style="font-family: Calibri;"> </span></span></p>
</td>
</tr>
<tr>
<td width="40%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Security &ndash; Open firewall ports to allow connections from Agency domain controllers to domain controllers</span></span></p>
</td>
<td width="59%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Due diligence on both ends and to ensure the good practice of network operations and proactively monitoring network traffics to detect any suspicious and malicious activities.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Only open firewall ports to the domain controllers that require direct communication</span></span></p>
</td>
</tr>
<tr>
<td width="40%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Security - AD administrators may forge SID to gain access to agency resources</span></span></p>
<p><span style="font-family: Calibri; font-size: small;">(refer to </span><a href="https://support.microsoft.com/?kbid=289243"><span style="font-family: Calibri; color: #0000ff; font-size: small;">https://support.microsoft.com/?kbid=289243</span></a><span style="font-size: small;"><span style="font-family: Calibri;"> )</span></span></p>
</td>
<td width="59%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Enable SID Filtering to enable domain controllers in the trusting domain to remove all SIDs that are not relative to the trusted domain from any authorization data that is received from that domain</span></span></p>
</td>
</tr>
<tr>
<td width="40%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Security - User with AD credentials may able to access other&nbsp; agency resources</span></span></p>
</td>
<td width="59%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Enable Selective Authentication to explicitly grant access to access agency resources. For more information on Selective Authentication</span></span></p>
</td>
</tr>
<tr>
<td width="40%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Operations &ndash; Different operations policy which may introduce different level of operations assurance</span></span></p>
</td>
<td width="59%" valign="top">
<p><span style="font-size: small;"><span style="font-family: Calibri;">Due diligence both forests to ensure the good practice of AD operations.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">To ensure security process and control like update management, anti-virus etc. are executed according to security policy.</span></span></p>
</td>
</tr>
</thead>
<tbody>
<span style="font-family: Calibri;">&nbsp;</span> 
</tbody>
</table>
<p><span style="font-size: small;"><span style="font-family: Calibri;">As per the diagram 1 above we have resources in Fab.com and users and computers are part of contoso.com, so to access resources across the forest we would need resource forest trusting account forest, we will see how we can achieve single sign on using One Way Forest Trust</span></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">One-way forest trust support cross forest Kerberos and NTLM authentication while external trust only support NTLM (Kerberos authentication is the preferred method in SOEasy, NTLM is provided for backward compatibility)</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">A one-way, forest trust between two forests allows members of the trusted forest to use resources that are located in the trusting forest. However, the trust operates in only one direction.</span></span></li>
</ul>
<p><span style="font-size: small;"><span style="font-family: Calibri;">In this scenario users and computers which are logically part of contoso.com domain but situated physically in same subnet as fab.com forest would use contoso.com credentials to access the resources in fab.com, we will see what are the requirements for users to authenticate against contoso.com and access resources in fab.com forest.</span></span></p>
<p align="center"><span style="font-family: Calibri; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/6560.Drawing3.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/6560.Drawing3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/6560.Drawing3.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/6560.Drawing3.jpg" border="0" /></a>&nbsp;</span></p>
<p align="center"><span style="font-size: small;"><span style="font-family: Calibri;">Diagram 3</span></span></p>
<p><b><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">Prerequisites to establish One Way Forest Trust</span></span></span></b></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Name Resolution mechanism for both active directory forest, to establish active directory trust relation between contoso.com and fab.com a DNS name resolution needs to be configured properly<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span></li>
<li><span style="font-family: Calibri; font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Required TCP/IP ports needs to be opened on all the firewalls falling underway<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span></li>
<li><span style="font-family: Calibri; font-size: small;">3.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Enterprise or Domain admin credentials from both forests<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span></li>
<li><span style="font-family: Calibri; font-size: small;">4.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">PDC emulator role domain controller should be up and running and reachable across the forest<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span></li>
<li><span style="font-family: Calibri; font-size: small;">5.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Trusting Domain and Trusted Domain should have following in common<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span> <ol>
<li><span style="font-family: Calibri; font-size: small;">a.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">SID (Security Identifier)<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span></li>
<li><span style="font-family: Calibri; font-size: small;">b.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Domain Naming System (DNS) name<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span></li>
<li><span style="font-family: Calibri; font-size: small;">c.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">NetBios Name<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span></li>
</ol></li>
<li><span style="font-family: Calibri; font-size: small;">6.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">All domain controllers are in correct time zone (For Kerberos Authentication time difference more than 5 minutes will cause authentication to fail)<b><span style="text-decoration: underline;">&nbsp;</span></b></span></span></li>
</ol>
<p><b><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">Trust Limitations</span></span></span></b></p>
<ol>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Number of TDOs - Testing indicates that the time to complete operations related to TDOs, such as authentication across domains, deteriorates noticeably if the Active Directory implementation in an organization contains more than 2400 TDOs</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Trust Path Limits - Kerberos clients can traverse a maximum of 10 trust links to locate a requested resource in another domain</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Trust Search Limit - When a client searches out a trust path, the search is limited to trusts that are established directly with a domain and those that are transitive within a forest.</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Trust Flow - The flow of communication over trusts is determined by the direction of the trust (one-way or two-way) and the transitivity of the trust (transitive or non-transitive)</span></span></li>
</ol>
<p><b><i><span style="font-family: Calibri; font-size: small;">&nbsp;</span></i></b></p>
<p><b><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">&nbsp;Resolution between Contoso.com and fab.com </span></span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">As we discussed above to establish a trust we do need a healthy name resolution mechanism between the forests, let&rsquo;s see what options do we have using Active Directory DNS, third party DNS is out of the scope of this document</span></span></p>
<p><span style="font-family: Calibri; font-size: small;">Best practices for designing the DNS namespace and providing DNS support for deployment of a single Active Directory forest are provided in the &ldquo;Best Practice Active Directory Design for Managing Windows Networks.&rdquo; You can view this document on the</span> <a href="https://blogs.technet.com/tiny_mce/plugins/paste/Microsoft%20TechNet%20Web%20site"><span style="color: #0000ff;">Microsoft TechNet Web site</span></a> <span style="font-family: Calibri; font-size: small;">at </span><a href="https://go.microsoft.com/fwlink/?LinkId=10478"><span style="color: #0000ff;">https://go.microsoft.com/fwlink/?LinkId=10478</span></a> . <span style="font-size: small;"><span style="font-family: Calibri;">In the process of designing your multiforest Active Directory deployment, follow these recommendations for each individual forest. After you have completed the DNS design for each individual Active Directory forest, you must analyze the requirements to enable name resolution across the forest boundaries. </span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">The ability to resolve the names from the namespace of a different forest is required by the following activities:</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">User or computer needs to locate a resource (for example, an Exchange server, file share, or service) that is hosted on a computer that is joined to a different forest.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">User or computer needs to locate a domain controller in a different forest for the purpose of authenticating to a resource in that forest.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">There are multiple ways of configure DNS name resolution across the forest, for example</span></span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Conditional Forwarding</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Creating a secondary zone</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">3.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">DNS zone delegation</span></span></li>
</ol>
<p><b><i><span style="font-size: small;"><span style="font-family: Calibri;">Conditional Forwarding</span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">DNS servers are configured to forward the queries with a specific name suffix to a DNS server in different forest, contoso.com DNS server is configure to forward the queries with fab.com name suffix to fab.com DNS server and fab.com DNS server is configured to forward queries specific to contoso.com name suffix to contoso.com DNS server</span></span></p>
<p style="text-align: center;"><span style="font-size: small;"><span style="font-family: Calibri;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/1602.Drawing4.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/1602.Drawing4.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/1602.Drawing4.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/1602.Drawing4.jpg" border="0" /></a></span></span></p>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></p>
<p align="center"><span style="font-size: small;"><span style="font-family: Calibri;">Diagram 4</span></span></p>
<p><b><i><span style="font-size: small;"><span style="font-family: Calibri;">Creating a secondary DNS zone</span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">DNS servers hosting high-level zones in the namespace hierarchy can be configured to host secondary zones that contain the highest-level zone data for other forest as </span></span></p>
<p style="text-align: center;"><span style="font-family: Calibri; font-size: small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/2112.Drawing5.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/2112.Drawing5.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/2112.Drawing5.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/2112.Drawing5.jpg" border="0" /></a></span></p>
<p><span style="font-family: Calibri; font-size: small;"></span></p>
<p align="center"><span style="font-size: small;"><span style="font-family: Calibri;">Diagram 5</span></span></p>
<p><b><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">TCP/IP ports required for establishing trust</span></span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Please refer to article below for complete list of ports required to be opened on firewall to establish trust across the forest</span></span></p>
<p><a href="https://support.microsoft.com/kb/179442"><span style="font-family: Calibri; color: #0000ff; font-size: small;">https://support.microsoft.com/kb/179442</span></a></p>
<p><a href="https://technet.microsoft.com/en-us/library/dd772723(WS.10).aspx"><span style="font-family: Calibri; color: #0000ff; font-size: small;">https://technet.microsoft.com/en-us/library/dd772723(WS.10).aspx</span></a><span style="font-size: small;"><span style="font-family: Calibri;"> </span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">As we have users and client machines sitting across the network firewalls to reach their domain controllers for authentication, we also need to configure firewall and network connectivity to allow clients to logon into the domain, how interactive logon process works and what are the ports required to be open across the firewalls refer to article</span></span></p>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;</span><a href="https://technet.microsoft.com/en-us/library/cc780332(WS.10).aspx#w2k3tr_intlg_how_unsl"><span style="font-family: Calibri; color: #0000ff; font-size: small;">https://technet.microsoft.com/en-us/library/cc780332(WS.10).aspx#w2k3tr_intlg_how_unsl</span></a><span style="font-size: small;"><span style="font-family: Calibri;">&nbsp; </span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Since our end result is to give users seamless experience while accessing the applications across the forest with single sign on process, it is not uncommon in today&rsquo;s world that you have applications in the environment which would require object picker functionality, so we also need to consider opening firewall ports for object picker functionality, below is the list of ports required</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">TCP/UDP 135, 137, 138, 139 (RPC) <br />TCP/UDP 389 by default, customizable (LDAP) <br />TCP 636 by default, customizable (LDAP SSL) <br />TCP 3268 (LDAP GC) <br />TCP 3269 (LDAP GC SSL) <br />TCP/UDP 53 (DNS) <br />TCP/UDP 88 (Kerberos) <br />TCP/UDP 445 (Directory Services) <br />TCP/UDP 749 (Kerberos-Adm) [Opt.] <br />TCP port 750 (Kerberos-IV) [Opt.]</span></span></p>
<p><b><i><span style="font-size: small;"><span style="font-family: Calibri;">Authentication Protocols</span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Active Directory domain controllers authenticate users and applications by using one of two protocols: either the Kerberos&nbsp;version 5 authentication protocol or the NTLM authentication protocol. When two Active Directory domains or forests are connected by a trust, authentication requests made using these protocols can be routed to provide access to resources in both forests.</span></span></p>
<p><b><span style="font-size: small;"><span style="font-family: Calibri;">Kerberos Version 5 Protocol</span></span></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">The Kerberos&nbsp;version 5 protocol is the default authentication protocol used by computers running Windows&nbsp;2000, Windows&nbsp;XP Professional, or Windows Server&nbsp;2003. This protocol is specified in RFC 1510 and is fully integrated with Active Directory, server message block (SMB), HTTP, and remote procedure call (RPC), as well as the client and server applications that use these protocols. In Active Directory domains, the Kerberos protocol is used to authenticate logons when any of the following conditions is true:</span></span></p>
<p><b><span style="font-size: small;"><span style="font-family: Calibri;">NTLM</span></span></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">The NTLM protocol is the default protocol used for network authentication in the Windows&nbsp;NT 4.0 operating system. For compatibility reasons, it is used by Active Directory domains to process network authentication requests that come from earlier Windows-based clients and servers. Computers running Windows&nbsp;2000, Windows&nbsp;XP or Windows Server&nbsp;2003 use NTLM only when authenticating to servers running Windows&nbsp;NT 4.0 and when accessing resources in Windows&nbsp;NT 4.0 domains.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">When the NTLM protocol is used between a client and a server, the server must contact a domain authentication service on a domain controller to verify the client credentials. The server authenticates the client by forwarding the client credentials to a domain controller in the client account domain. The authentication protocol of choice for Active Directory authentication requests, when there is a choice, is Kerberos version 5. When the Kerberos protocol is used, the server does not have to contact the domain controller. Instead, the client gets a ticket for a server by requesting one from a domain controller in the server account domain; the server validates the ticket without consulting any other authority.</span></span></p>
<p><b><i><span style="font-size: small;"><span style="font-family: Calibri;">Trust Password</span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Both domains in a trust relationship share a password, which is stored in the TDO object in Active Directory as part of the trust creation. As part of the account maintenance process, every thirty days, the trusting domain controller changes the password stored in the TDO automatically, without the correct trust password, trust connection cannot be established. Trust password must meet the requirements enforced by domain policy. </span></span></p>
<p><b><i><span style="font-size: small;"><span style="font-family: Calibri;">Kerberos</span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">To allow application access across the forest, users accessing the applications should be authenticated first with the authentication provider using Kerberos authentication mechanism, below diagram explains the process of Kerberos authentication while accessing the applications</span></span></p>
<p style="text-align: center;"><span style="font-size: small;"><span style="font-family: Calibri;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/0131.Drawing6.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/0131.Drawing6.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/0131.Drawing6.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/0131.Drawing6.jpg" border="0" /></a></span></span></p>
<p><span style="font-family: Calibri; font-size: small;"></span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">User logged into the computer and tries to access the application in fab.com, application server doesn&rsquo;t recognize the user, user needs to get some token to present to application to prove the identity</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">User contacts its domain controller KDC (Key Distribution Center)and requests a service ticket for application access</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">3.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Domain Controller checks its database for the SPN since the domain controller / global catalog has limited information about its own domain, the SPN is not found, then global catalog checks its database about forest trusts that are established with its forest and, if found, it compares the name suffixes listed in the forest trust trusted domain object (TDO) to the suffix of the target SPN to find a match. Once a match is found, &nbsp;the domain controller gives the referral ticket to Client for domain controller in fab.com</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">4.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Client computer connects to fab.com for service ticket for application access</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">5.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Domain controller in fab.com connects its global catalog server to find the SPN and the global catalog finds the match for SPN</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">6.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Client computer connects the domain controller KDC in fab.com to negotiate the ticket for user from contoso.com to access the application in fab.com</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">7.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Once client has a service ticket, it goes back to application server with the service ticket and gains the access to application</span></span></li>
</ol>
<p><b><i><span style="font-family: Calibri; font-size: small;">Kerberos Delegation (a.k.a. Kerberos Double-hop)</span></i></b><b><i></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Typically, clients call a service to have the service perform some action on the client&rsquo;s behalf. Impersonation allows the service to act as the client to perform an action. Delegation allows a front-end service to forward the client&rsquo;s request to a back-end service in such a way that the back-end service can impersonate the client. Impersonation is most commonly used as a way of checking whether a client is authorized to perform a particular action, while delegation is a way of flowing impersonation capabilities, along with the client&rsquo;s identity, to a back-end service. </span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Delegation is a Windows domain feature that can be used when Kerberos-based authentication is performed. Delegation is distinct from identity flow and, because delegation transfers the ability to impersonate the client without possession of the client&rsquo;s password, it is a much higher privileged operation than identity flow.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Both impersonation and delegation require that the client have a Windows identity. If a client does not possess a Windows identity, then the only option available is to flow the client&rsquo;s identity to the second service.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">With the assumption that client has already has the TGT from contoso.com Domain. When trying to access resource at the fab.com AD, the steps are:</span></span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Desktop connects to Web Application and provides both TGT and service ticket.</span></span></li>
</ol>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Web Application uses the clients TGT to request a service ticket from the fab.com domain controller so Web Application can connect to Database Server.</span></span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Web Application connects to Database Server using the client&rsquo;s credentials.</span></span></li>
</ol>
<p><span style="font-family: Calibri; font-size: small;">Ability to delegate is one of the Kerberos authentication protocol capabilities as defined in RFC 1510 (</span><a href="https://www.ietf.org/rfc/rfc1510.txt"><span style="font-family: Calibri; color: #0000ff; font-size: small;">https://www.ietf.org/rfc/rfc1510.txt</span></a><span style="font-size: small;"><span style="font-family: Calibri;">). With this capability, user accountability will be improved, since users credentials will be used to access the services end to end, at the other hand, this introduce the risk on misuse of user credential (even though setting application with this capability requires admin privileges at fab.com Network end). </span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Implement Kerberos Constrained delegation: The constrained delegation extension allows a service to obtain service tickets (under the delegated users identity) to a subset of other services after it has been presented with a service ticket that is obtained either through the TGS_REQ protocol, as defined in IETF RFC 1510, or in the protocol transition extension.</span></span></p>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></p>
<p><b><i><span style="font-size: small;"><span style="font-family: Calibri;">NTLM</span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">In case of NTLM authentication, the authentication referral process is shown in below diagram</span></span></p>
<p style="text-align: center;"><span style="font-size: small;"><span style="font-family: Calibri;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/8664.Drawing7.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/8664.Drawing7.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/8664.Drawing7.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/8664.Drawing7.jpg" border="0" /></a></span></span></p>
<p><span style="font-family: Calibri; font-size: small;"></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">In this scenario user and computer object are in contoso.com domain and application servers are in fab.com domain and users are trying to access resources in fab.com</span></span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">The initial request for authentication goes directly from the client to the web server in the fab.com domain</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">This legacy web server creates a challenge to which the client responds. </span></span></li>
<li><span style="font-family: Calibri; font-size: small;">3.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">The legacy web server then sends the user&rsquo;s response to a </span>fab.com<span style="font-family: Calibri;"> domain controller in its computer account domain. </span></span></li>
<li><span style="font-family: Calibri; font-size: small;">4.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">This domain controller checks the user account against its security accounts database. If the account does not exist in the database, domain controller sends the credentials of the client to a domain controller in the user&rsquo;s domain, in this case constoso.com for pass-through authentication.</span></span></li>
<li><span style="font-family: Calibri; font-size: small;">5.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;"><span style="font-family: Calibri;">Again, </span>constoso.com <span style="font-family: Calibri;">domain controller checks the user account against its security accounts database and verifies the user credentials, and returns the result to the sender. If the verification is successful, the message contains the user's authorization data. If the verification is unsuccessful, logon is denied.</span></span></li>
</ol>
<p><b><i><span style="font-size: small;"><span style="font-family: Calibri;">Authentication Scope</span></span></i></b></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">For the forest trust, the following authentication scope can be selected:</span></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Forest-wide authentication: An authentication setting that permits unrestricted access by any users in the specified forest to all available shared resources that are located in any of the domains in the local forest. </span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Selective authentication: An authentication setting that restricts access over an external trust or forest trust to only those users in a specified domain or specified forest who have been explicitly given authentication permissions to computer objects (resource computers) that reside in the local domain or the local forest</span></span></li>
</ul>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Based on the requirement we need to made a decision about the scope of the authentication, if the requirement is to give access to specific number of users across the forest it is recommended to use selective authentication which would restrict access to the group of users who have been explicitly given &ldquo;Allow to authenticate&rdquo; access on the server in resource forest.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Authorization can be controlled on the resource forest by creating Domain Local Groups and assigning required permissions.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Above article discusses the aspect of configuring cross forest authentication using Active directory forest trust, watch out for 2<sup>nd</sup> part of the series which discusses about the Single Sign on using Active directory Lightweight directory service</span></span></p>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></p>]]></content:encoded>
    </item>
    <item>
      <title>How to automate Lync Client 2010 deployment in multi architect environment using Active Directory Group Policy</title>
      <link>https://docs.microsoft.com/archive/blogs/mir/how-to-automate-lync-client-2010-deployment-in-multi-architect-environment-using-active-directory-group-policy</link>
      <pubDate>Sat, 04 Jun 2011 03:10:00 GMT</pubDate>
      <dc:creator><![CDATA[Mubashir Mir]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mir/2011/06/04/how-to-automate-lync-client-2010-deployment-in-multi-architect-environment-using-active-directory-group-policy/</guid>
      <description><![CDATA[The Lync server 2010 client is a single unified communication client that replaces previously...]]></description>
      <content:encoded><![CDATA[<p>The Lync server 2010 client is a single unified communication client that replaces previously released Office Communicator and Live meeting client, single client performs all the functions of the previous clients including instant messaging (IM), web conferencing, white boarding, desktop sharing, and enterprise voice.<br /><br />There are two versions of the Lync 2010 client, one for x86 and one for x64 operating systems.&nbsp; The difference is the bootloader and the prerequisite software included in the client installer (Microsoft Visual C++ 2008 Redistributable - x86 or x64 and SilverLight).&nbsp;&nbsp;If you try to deploy the x86 version of the client on an x64 computer (or vice versa), you will get an error message. "Installer is not supported on your computer, please use the 64-bit installer to complete the installation.</p>
<p><b>NOTE</b>:The online meeting&nbsp;Add-On will match the 32bit or 64bit version of version of Office 2007/2010 installed, regardless of the Lync client architecture installed.<br /><br />It is not uncommon in todays world that there are multi architecture clients (x86 and x64) running in the&nbsp;environment, and it is possible that you&nbsp;dont have any software or tool available&nbsp;to automate the software distribution with right set of bits to&nbsp;the clients, and it&nbsp;can be bit difficult to automate the software distribution using&nbsp;Group Policy as well, The rest of the&nbsp;document will demostrate how we can deploy&nbsp;Lync client 2010 in multi&nbsp;architecture environment using a&nbsp;simple batch file and GPO toghether</p>
<p>I will break this complete process in three parts,&nbsp;to make it look easy and&nbsp;undrestandable</p>
<p>1.&nbsp; <i>Preparing the environment</i></p>
<p>2.&nbsp; <i>Configure GPO to deploy the login script on client machines</i></p>
<p>3.&nbsp; <i>Deploy the software bits on the client via the configured login script.</i></p>
<p><b>Note</b>: Installation of the client software would require a user to have administrator rights on the local machines, for that reason we will use computer startup script to deploy the software as the software will be installed using local system account which by default has permissions</p>
<div>
<p><b>Preparing the Environment</b></p>
</div>
<p>As there are Windows XP, Windows Vista and Windows 7 clients in both X86 architecture and X64 architecture, we need to ensure that the right bits are installed on the clients, so we need to make the right bits available to clients.</p>
<ul>
<li>Create a file Share on your file server or any other server which is accessible from the network and users can communicate with, for example your file server &ldquo;<i>FileServer1</i>&rdquo; and name the folder and file share as &ldquo;<i>Client_Software_bits</i>&rdquo;</li>
<li>Share the folder and give everyone read permissions on the share to ensure all users can read for this share</li>
<li>Create two folders inside the folder create in step 1 and name them as Lync2010 and Office365</li>
<li>Create two folders inside each of the above new folders and name them X86 and X64 respectively</li>
<li>Now we will have a UNC path like 
<ul>
<li>\\FileServer1\Client_Software_bits\Lync2010\X86</li>
<li>\\FileServer1\Client_Software_bits\Lync2010\X64</li>
</ul>
</li>
<li>Now though we have all the four UNC paths created and available for clients to access, copy the correct platform to the respective version of client software into the folders, X86 bit of client software to X86 folder and X64 bit of client software to X64 folder</li>
</ul>
<table cellpadding="0" cellspacing="0" border="1">
<tbody>
<tr>
<td width="307" valign="top">
<p><b>Software Bits/Architecture</b></p>
</td>
<td width="307" valign="top">
<p><b>File Name</b></p>
</td>
</tr>
<tr>
<td width="307" valign="top">
<p><b>Lync 2010 Client/x86</b></p>
</td>
<td width="307" valign="top">
<p>LyncSetup32.EXE</p>
</td>
</tr>
<tr>
<td width="307" valign="top">
<p><b>Lync 2010 Client/64-bit</b></p>
</td>
<td width="307" valign="top">
<p>LyncSetup64.EXE</p>
</td>
</tr>
</tbody>
</table>
<ul>
<li>Check the file name for the client software, it might look like <i>LyncSetupx86</i> or <i>LyncSetupX64</i>, rename the files to <i>LyncSetup</i> in both the folders to have common file name which will be used in script</li>
<li>Test to access the shares from one of the client machines to ensure you are able to see the files in these folders</li>
<li>The script also fires the results of the installation onto a file; in order for that to happen, an additional file share is required which must be accessible by all users and users must have create/write access which can be used to centrally track the installation success</li>
<li>In the same file share, create a folder named "Client_deployment_results" on the file server and share the folder with everyone or to be more specific share the folder with Domain users and Domain Computers&nbsp;groups and assign &ldquo;Create and Modify&rdquo; permissions to &ldquo;Domain Users&rdquo; and&nbsp;"Domain Computers"&nbsp;groups</li>
<li>The UNC path for the results folder would look like <a href="file://fileserver1/Client_Deployment_Results">\\FileServer1\Client_Deployment_Results</a></li>
</ul>
<div>
<p><b>Understanding the Login Script</b></p>
</div>
<p>The script is broken into 3 parts,</p>
<ul>
<li>This part of the scripts sets a condition about which platform (Architecture) software to install x86 or x64 and if the software is already installed exit the script</li>
</ul>
<p>If Exist %systemroot%\%computername%.txt goto END<br />If Exist "C:\Program Files (x86)\" goto X64</p>
<p>Set ARCHITECTURE=x86</p>
<p>This part of the login script automates the creation of the respective folders under the user&rsquo;s profile in the desktop</p>
<p>REM Creating Lync and office suite Client folder on %USERPROFILE%<br />IF NOT EXIST "%USERPROFILE%\Lync_Client\X86" MKDIR "%USERPROFILE%\Lync_Client\X86"</p>
<p>Note: Since we are using computer startup GPO to apply the script on the client machines %userprofile% refers to directory &ldquo;C:\windows\system32\Config\systemprofile&rdquo; on windows 7 machines and on windows Xp machines %userprofile% refers to the logged in users profile "Documents and Settings\Users", to manually check whether software bits are copied you need to check the respective directory as per your operating system</p>
<ul>
<li>This part of the script copies the required installation files into the folders created from the previous step.</li>
</ul>
<p>REM Copying Lync software to Lync Software folder on %USERPROFILE%<br />pushd "\\fileserver1\Lync2010\Lync_Software\x86\" <br />XCOPY "*.exe" "%USERPROFILE%\Lync_Client\X86" /I /Y /Q</p>
<ul>
<li>This part of the script will setup the Lync2010 and Office365 suite silently and end user would not experience any GUI or any interferences.</li>
</ul>
<p><b>Note</b>: End users should still be informed that their computer is going to have a change so that users aren&rsquo;t surprised to see the Lync, Silverlight, Visual C++ Distribution installed in their machine. Silverlight and Visual C++ distribution are pre-requisites for Lync2010 client and are installed automatically by LyncSetup.exe</p>
<p>"%UserProfile%\Lync_Client\%ARCHITECTURE%\LyncSetup.exe" /install /silent /fulluisuppression<br />Echo "Lync and Office clients Successfully installed" on %COMPUTERNAME% &gt; %systemroot%\%Computername%.txt<br />Echo "Lync and Office clients Successfully installed" on %COMPUTERNAME% &gt;\\fileserver1\Client_Deployment_Results\%computername%.txt</p>
<ul>
<li>The Login Script will first of all set the architecture to X86 and then check on the system if &ldquo;C:\Program Files (X86)&rdquo; exist, as this folder is available only on 64-bit machines with 64-bit operating system, if the condition is true then the script will set the architecture to x64, and then run the setup locally from the folders we created in first part of the script, Since we have set the architecture to either x86 or x64 and we are using variable %Architecture% in the command line to ensure the right bit of software is run, after the Lync2010 is immediately office 365 suite software will be installed.</li>
<li>X64 bit portion of the script will follow the same process as above</li>
</ul>
<p>:X64</p>
<p>If NOT EXIST "C:\Program Files (x86)\" goto END</p>
<p>Set ARCHITECTURE=x64</p>
<p>REM Creating Lync Client folder on %USERPROFILE%<br />IF NOT EXIST "%USERPROFILE%\Lync_Client\X64" MKDIR "%USERPROFILE%\Lync_Client\X64"<br />REM Copying Lync software to Lync Software folder on %USERPROFILE%<br />pushd "\\fileserver1\Lync2010\Lync_Software\x64\"<br />XCOPY "*.exe" "%USERPROFILE%\Lync_Client\X64" /I /Y /Q<br />"%UserProfile%\Lync_Client\%ARCHITECTURE%\LyncSetup.exe" /install /silent /fulluisuppression<br />Echo "Lync and Office clients Successfully installed" on %COMPUTERNAME% &gt; %systemroot%\%Computername%.txt<br />Echo "Lync and Office clients Successfully installed" on %COMPUTERNAME% &gt;"\\fileserver1\Client_Deployment_Results\%Computername%.txt"</p>
<p>:END<br />EXIT</p>
<ul>
<li>At the end of the script it will create two results files one in the local drive and one on the remote writable file, the environmental variable %COMPUTERNAME% is used to have text file created with the &lsquo;machine_name.txt&rsquo; to keep the track.</li>
</ul>
<div>
<h4><span style="font-family: Times New Roman;"><span style="font-size: small;">Configuring the GPO</span></span></h4>
</div>
<p><span style="font-size: small;"><span style="font-family: Calibri;">To get the individual machines to run this login script, GPO is used to help enforce the Startup script to machines to run at startup.</span></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">The startup script is the file that does the actual action. It could be almost any action, as noted above. Unlike the "old fashioned" method of using ADUC and the <b>Profile</b> tab of the users' account properties, the default location for GPO-initiated logon scripts is the deep within the SYSVOL special folder, which, by default, is shared on all Domain Controllers in an Active Directory forest, and is located in the following folder:</span></span></li>
</ul>
<p><span style="font-size: small;"><span style="font-family: Calibri;">%SystemRoot%\SYSVOL\sysvol\&lt;domain DNS name&gt;\Policies\{GUID}\machine\Scripts\startup</span></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Where %SystemRoot% is usually &ldquo;C:\Windows&rdquo;, &lt;domain DNS name&gt; is the DNS name of the domain, &lsquo;dc.capitaland.com&rsquo;, and {GUID} is a hexadecimal string representing the GUID (unique identifier) of the specific Group Policy Object in use. This folder, which is a part of the SYSVOL special folder, is replicated to all the Domain Controllers in the domain. Each GPO has its own internal <i>User</i> and <i>Machine</i> subfolders, and under them it has, if used, a <i>Logon, Logoff, Startup</i> and <i>Shutdown</i> subfolder where appropriate</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Copy the logon script (CTRL+C) at the file level, during the creation of the GPO it will be necessary to paste the file into the UI.</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Startup and Shutdown scripts run under the machine credentials. It is recommended that the &ldquo;Domain Computers&rdquo; group shall be given permission to any resources used by either of these scripts. For example, if the startup or shutdown script writes to a log file, the group &ldquo;Domain computers&rdquo; should be given read/write access to the file or the folder where the log file is located. </span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">In order to assign the GPO and edit it, <b>Group Policy Management console</b>, or GPMC in short is used. This tool is not installed by default in Windows Server 2003, and neither is it installed by default in Windows Server 2008. In Windows Server 2008, GPMC is considered to be a "Feature", and you must install it before being able to use it. However, unlike in Windows Server 2003 where you must download and install the tool, in Windows Server 2008, GPMC is already a part of the operating system, you simply need to add it. If the Windows Server 2008 server is also a Domain Controller, GPMC will be automatically installed as part of the DCPROMO procedure. If it's not a DC, you'll need to manually add it. </span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Open Group Policy Management Console from the Administrative Tools folder (or gpmc.msc from RUN)</span></span></li>
</ul>
<p><span style="font-size: small;"><span style="font-family: Calibri;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/1526.Group_Policy_Management_Console.gif" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/1526.Group_5F00_Policy_5F00_Management_5F00_Console.gif"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/1526.Group_Policy_Management_Console.gif" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/1526.Group_5F00_Policy_5F00_Management_5F00_Console.gif" border="0" /></a></span></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">As described in the above paragraph, you decided to apply the script to ONLY a SPECIFIC SET of computers, expand the domain tree, locate the OU where the computers are located. Right-click the OU and select <strong>Create and Link a GPO Here</strong></span><strong>&nbsp;</strong></span></li>
</ul>
<p><span style="font-size: small;">&nbsp;</span><span style="background-color: #888888;"><span style="color: #000000;"><strong><span style="font-size: small;"><span style="font-family: Calibri;">Note: I</span></span></strong></span><span style="font-size: small;"><span style="font-family: Calibri;"><span style="color: #000000;">t </span>might be possible that a GPO already exists and it is linked to the object level you need. In that case you don't need to create a new GPO; you can use the existing one</span></span></span></p>
<ul>
<li><span style="font-family: Calibri; font-size: small;">&nbsp;</span><strong>&nbsp;</strong><span style="font-size: small;"><span style="font-family: Calibri;">In the New GPO window, give the new GPO a descriptive name, such as "Client Logon Script GPO". Click <strong>Ok</strong></span><strong>&nbsp;</strong></span></li>
</ul>
<p><span style="font-size: small;">&nbsp;</span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">If you don't see it already, refresh the GPMC view and find the new GPO you've just created under the OU</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">When you click on the new GPO you might be prompted with a message window. Click <strong>Ok</strong></span><strong>&nbsp;</strong></span></li>
</ul>
<p><span style="font-size: small;">&nbsp;</span><span style="font-size: small;"><strong>&nbsp;</strong></span></p>
<p><span style="font-size: small;"><strong>&nbsp;</strong></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Right-click the new GPO and select <strong>Edit</strong></span><strong>&nbsp;</strong></span></li>
</ul>
<p><span style="font-size: small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/6332.GPO4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/6332.GPO4.png"><img height="350" width="491" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/6332.GPO4.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/6332.GPO4.png" border="0" /></a></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">In the Group Policy Object Editor window, expand&nbsp;<strong>Computer Configuration &gt; Windows Settings &gt; Scripts</strong></span><strong>&nbsp;</strong></span></li>
</ul>
<p><span style="font-size: small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/8360.Gpo5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/8360.Gpo5.png"><img height="359" width="496" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/8360.Gpo5.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/8360.Gpo5.png" border="0" /></a></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Double-click Startup in the right-hand pane</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">In the Startup Properties window, click <strong>Show Files</strong></span><strong>&nbsp;</strong></span></li>
</ul>
<p><span style="font-size: small;"><strong>&nbsp;</strong></span>&nbsp;</p>
<p><span style="font-size: small;"><strong><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/8446.GPO6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/8446.GPO6.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/8446.GPO6.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/8446.GPO6.png" border="0" /></a></strong></span></p>
<p><span style="font-size: small;">&nbsp;</span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">A window will open. The path will be a folder similar to the following: \\domain.com\SYSVOL\testdomain.com\Policies\{Guid}\machine\Scripts\startup. Paste the logon script you've copied in the previous part of this article. Close the window</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Back in the Logon Properties window, click <strong>Add</strong></span><strong>&nbsp;</strong></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">In the <strong>Add a Script</strong> window, click <strong>Browse</strong> and you will see the logon script step #11. Whatever you do, DO NOT manually browse for the file, it should be in front of your eyes. If it's not there, check the previous steps for a mistake. Click <strong>Ok</strong></span></span></li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/6076.Gpo7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/6076.Gpo7.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/6076.Gpo7.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/6076.Gpo7.png" border="0" /></a></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Back in the <strong>Startup Properties</strong> window, see if the logon script is listed, and if it is, click <strong>Ok</strong></span><strong>&nbsp;</strong></span></li>
</ul>
<p><span style="font-size: small;">&nbsp;</span></p>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/1682.Gpo8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/1682.Gpo8.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/1682.Gpo8.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/1682.Gpo8.png" border="0" /></a></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Since we are targeting multi Architectural environment where we have windows xp, windows vista, and windows 7 machines, on windows vista and windows 7 machines &ldquo;User Access Control&rdquo; feature is enabled by default and any installation would require administrator to allow installation, to silently install the software we would need the feature to be disabled using GOP, follow the steps below<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/4265.gpo9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/4265.gpo9.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/4265.gpo9.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/4265.gpo9.png" border="0" /></a></span></span></li>
</ul>
<p><span style="font-size: small;"><span style="font-family: Calibri;">&nbsp;</span></span>&nbsp;</p>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">In <b>Group Policy Management Editor</b> expand <b>Security Settings</b></span><b>&egrave;<span style="font-family: Calibri;">Local Policies</span></b><b>&egrave;<span style="font-family: Calibri;">Security Options</span></b></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">In the right hand page scroll down and locate <b>User Account Control:Behavior of the elevation prompt for Administrators in admin approval mode, </b>double click on the option and click on check box <b>Define this policy</b> and from the drop down menu select <b>Elevate without prompting</b> and click <b>OK</b></span></span></li>
</ul>
<p><span style="font-size: small;"><span style="font-family: Calibri;"><b>&nbsp;</b></span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;"><b>&nbsp;</b></span></span></p>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;</span><b></b></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Next locate <b>User Account Control:Run all Administrators in Admin Approval mode, </b>double click on the option and click on<b> Define this Policy </b>and select the option<b> Disable, </b>click on <b>OK<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/5381.gpo11.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/5381.gpo11.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/89/06/5381.gpo11.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-06/5381.gpo11.png" border="0" /></a></b></span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Close the <strong>Group Policy Object Editor</strong> window</span></span></li>
<li><span style="font-family: Calibri;"><span style="font-size: small;">Close the <strong>GPMC</strong> window</span></span></li>
</ul>
<div>
<h4><span style="font-family: Times New Roman;"><span style="font-size: small;">Replicating the GPO</span></span></h4>
</div>
<p><span style="font-family: Calibri;"><span style="font-size: small;">To replicate the DCs in the domain by using either Active Directory Sites and Services, Replmon, Repadmin, or wait a few moments (depending on the number of DCs). As a simple follow up to this article, I suggest you use Active Directory Sites and Services.</span></span></p>
<div>
<h4><span style="font-size: small;"><span style="font-family: Times New Roman;">Testing the Login Script</span></span></h4>
</div>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">On one of the computers that is part of the domain, logoff the specific user account</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Logon and test. If you don&rsquo;t see the client software installed after about 15 minutes, go to command prompt</span></span></li>
</ul>
<div>
<p class="NoteTitle"><strong><span style="color: #4f81bd;"><span style="font-size: small;"><span style="font-family: Calibri;">Note</span></span></span></strong></p>
<p class="Note"><span style="font-size: small;"><span style="font-family: Calibri;">On machines with Windows 7 as the Operating System, open as Administrator</span></span></p>
</div>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Type following commands, this command will generate a report where you can see whether the policy is applied on the user or not, if you don&rsquo;t see the policy applied type following command</span></span> 
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">C:\&gt;GPresult &nbsp;/H: &gt;C:\gpresult.html&nbsp; /Scope:Computer (windows 7)</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">C:\&gt;Gpresult /Scope:Computer &gt;C:\Gpresult.txt</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">To force the GPO update on the client machine apply the following command, logoff and login again to test</span></span> 
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">C:\&gt;Gpupdate /force</span></span></li>
</ul>
</li>
</ul>
</li>
<li>&nbsp;It is possible sometimes logon process completes but the script doesn't run properly, it can happen on clients running windows xp, or later running on fast network, the first thing to look at would be the event viewer at client machine and you can also look at the longon process logs Userenv.log file which is located in %systemroot%\debug\usermode directory, to enable debug loggin refer to article <a href="https://support.microsoft.com/kb/221833">https://support.microsoft.com/kb/221833</a></li>
</ul>
<p>Please post your comments and feedback on this post, shall you have any questions regarding this please post the questions in technet</p>]]></content:encoded>
    </item>
  </channel>
</rss>