Public/Get-ADSIForestTrustRelationship.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function Get-ADSIForestTrustRelationship
{
<#
 .SYNOPSIS
  Function to retrieve the Forest Trust Relationship(s)
  
 .DESCRIPTION
  Function to retrieve the Forest Trust Relationship(s)
  
 .PARAMETER Credential
  Specifies the alternative credential to use. Default is the current user.
  
 .PARAMETER ForestName
  Specifies the alternative Forest name to query. Default is the current one.
  
 .NOTES
  Francois-Xavier Cat
  www.lazywinadmin.com
  @lazywinadm
  github.com/lazywinadmin
#>

    
    [CmdletBinding()]
    [OutputType('System.DirectoryServices.ActiveDirectory.ForestTrustRelationshipInformation')]
    param
    (
        [Alias("RunAs")]
        [System.Management.Automation.PSCredential]
        [System.Management.Automation.Credential()]
        $Credential = [System.Management.Automation.PSCredential]::Empty,
        
        $ForestName = [System.DirectoryServices.ActiveDirectory.Forest]::Getcurrentforest()
    )
    
    PROCESS
    {
        TRY
        {
            Write-Verbose '[Get-ADSIForestTrustRelationship][PROCESS] Credential or FirstName specified'
            (Get-ADSIForest @PSBoundParameters).GetAllTrustRelationships()
            
        }
        CATCH
        {
            Write-Warning -Message '[Get-ADSIForestTrustRelationship][PROCESS] Something wrong happened!'
            Write-Warning -Message $error[0].Exception.Message
        }
    }
}