Para establecer la relacción de confianza entre dos bosques mediante powershell, esos usado un entorno virtual que cuanta con el dominio de adatum.com y otro que tiene el dominio de contoso.com

¿Qué es una relacción de confianza?

Una relación de confianza establecida entre dos dominios, permite que los usuarios de un dominio, puedan presentarse en el otro controlador de dominio con quien ha establecido la relacción.
Por ejemplo: Si el dominio de contos.com y adatum.com tienen establecida una relacción de confianza. Los usuarios de contoso.com se podrán presentar en Adatum.com y vicebersa.

Tipos de relacción de confianza

  • Externa: proporciona acceso a los recursos ubicados en el dominio del bosque distinto que no está unido mediante una relacción de confianza. Este tipo de relacción no tiene transitividad
  • Kerberos: Se utilizan para formar una relación de confianza entre un dominio kerveros que no es de Windows y un dominio de Windows Server 2008
  • De bosque: Confianza entre dos bosques para compartir recursos. Si la confianza es de tipo bidireccional, las solicitudes de autenticación realizadas en alguno de los bosques pueden llegar al otro bosque.
  • Directa: Se usan para mejorar los tiempos de inicio de sesión de un usuario entre dos dominios en un bosque. Este tipo de relacción se usa cuando dos dominios están separados por dos árboles

 

Empezamos con el laboratorio

  • La elección que hemos cogido es una relacción de confianza de tipo bosque, dentro de esta podremos tener tres tipos de relacciones:
  • Unidireccional: Solo pueden acceer los usuarios del dominio de confianza al dominio que confia y no al revés.
  • Bidireccional: Ambos dominios pueden acceder a los recursos mutuamente, ya que son confiables
  • Transitiva: Nos permitie crear un árbol de congianzo, permitiendo a un dominio acceder a los recursos de un subdominio que esté dentro del dominio padre.

relaccion de confianza
Para poder hacerlo mediante powershell, tendremos que elaborar un script

 

Function New-ADDomainTrust
{
	Param
	(
		[parameter(Mandatory=$true)]
		[String]$RemoteDomain,
		[parameter(Mandatory=$true)]
		[String]$RemoteAdmin,
		[parameter(Mandatory=$true)]
		[String]$RemotePassword,
		[parameter(Mandatory=$true)]
		[ValidateSet("Inbound", "Outbound", "Bidirectional")]
		[String]$TrustDirection
	)

	$remoteConnection = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain',$RemoteDomain,$RemoteAdmin,$RemotePassword)
	$remoteDomainConnection = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($remoteConnection)
	$localDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
	$localDomain.CreateTrustRelationship($remoteDomainConnection,$TrustDirection)
}

Function Remove-ADDomainTrust
{
	Param
	(
		[parameter(Mandatory=$true)]
		[String]$RemoteDomain,
		[parameter(Mandatory=$true)]
		[String]$RemoteAdmin,
		[parameter(Mandatory=$true)]
		[String]$RemotePassword
	)

	$remoteConnection = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain',$RemoteDomain,$RemoteAdmin,$RemotePassword)
	$remoteDomainConnection = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($remoteConnection)
	$localDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
	$localDomain.DeleteTrustRelationship($remoteDomainConnection)
}

Function New-ADForestTrust
{
	Param
	(
		[parameter(Mandatory=$true)]
		[String]$RemoteForest,
		[parameter(Mandatory=$true)]
		[String]$RemoteAdmin,
		[parameter(Mandatory=$true)]
		[String]$RemotePassword,
		[parameter(Mandatory=$true)]
		[ValidateSet("Inbound", "Outbound", "Bidirectional")]
		[String]$TrustDirection
	)

	$remoteConnection = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest',$RemoteForest,$RemoteAdmin,$RemotePassword)
	$remoteForestConnection = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($remoteConnection)
	$localForest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
	$localForest.CreateTrustRelationship($remoteForestConnection,$TrustDirection)
}

Function Remove-ADForestTrust
{
	Param
	(
		[parameter(Mandatory=$true)]
		[String]$RemoteForest,
		[parameter(Mandatory=$true)]
		[String]$RemoteAdmin,
		[parameter(Mandatory=$true)]
		[String]$RemotePassword
	)

	$remoteConnection = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest',$RemoteForest,$RemoteAdmin,$RemotePassword)
	$remoteForestConnection = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($remoteConnection)
	$localForest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
	$localForest.DeleteTrustRelationship($remoteForestConnection)
}

 

 Lo primero es guardar el script y ejecutarlo, usando el comando New-ADForestTrust establecemos la relacción de confianza. Los parámetros los podemos poner en la misma línea, sinó pedirá los que necesite para establecer la relacción de confianza
Una bez hecho esto ya nos habrá creado la relación de confianza entre los dos dominios. Para verlo, podemos hacerlo mediante powershell como hemos visto en el videotutorial, o lo podemos hacer por entorno gráfico desde Active Directory Domains and Trust.

Relaccion confianza powershell

No dudeis en preguntar

Para más información sobre tipo de relaciones de confianza: https://technet.microsoft.com/es-es/library/cc730798%28v=ws.11%29.aspx

 

Alumno: Pablo Martín Martín
Año académico: 2016/2017
Alumno de Tajamar
Curso académico: MCSE Private Cloud
Twitter: Pablo_martin95
linkedin Pablo Martín Martín