Forests and Trusts

Trust is a relationship between two domains or forests which allows trusted domain or forest to access resources in the other domain or forest.

Trust is automatically built or manually established.

One-way and two-way trusts

One Way

Trust relationships enable access to resources can be either one-way or two-way. A one-way trust is a unidirectional path between two domains.

For example In a one-way trust: Domain A <- Domain B

Users in Domain A can access resources in Domain B. However, users in Domain B can't access resources in Domain A.

Two Way

In a two-way trust, Domain A trusts Domain B and Domain B trusts Domain A.

Users in Domain A can access resources in Domain B and, users in Domain B can access resources in Domain A.

Transitive and non-transitive trusts

Transitivity determines whether a trust can be extended outside of the two domains with which it was formed.

  • A transitive trust can be used to extend trust relationships with other domains.

  • A non-transitive trust can be used to deny trust relationships with other domains.

Defaults

Parent-Child domains will be always two-way transitive.

Tree-Root will always be two way transitive.

External Trusts

Trust between two domains in different forests when forests do not have a trust relationship. Can be one-way or two-way but can't be transitive.

Forest Trusts

Forest trusts are manually created between two root forests,.

Important: Forest trusts can only be created between two forests and can't be implicitly extended to a third forest.

This example configuration provides the following access:

  • Users in Forest 2 can access resources in any domain in either Forest 1 or Forest 3

  • Users in Forest 3 can access resources in any domain in Forest 2

  • Users in Forest 1 can access resources in any domain in Forest 2

Enumeration

Get a list of all domain trusts for the current domain

Get-DomainTrust
Get-DomainTrust -Domain us.dollarcorp.moneycorp.local

# External trusts
Get-DomainTrust | ?{$_.TrustAttributes -eq "FILTER_SIDS"}

Get details about the current forest

Get-Forest
Get-Forest -Forest eurocorp.local

Get all domains in the current forest

Get-ForestDomain
Get-ForestDomain -Forest eurocorp.local

Get all global catalogs for the current forest

Get-ForestGlobalCatalog
Get-ForestGlobalCatalog -Forest eurocorp.local

Map trusts of a forest

# External trusts in current forest
Get-ForestDomain | %{Get-DomainTrust -Domain $_.Name} | ?{$_.TrustAttributes -eq "FILTER_SIDS"}

Get-ForestTrust
Get-ForestTrust -Forest eurocorp.local

References

Last updated