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
        }
    }
}