/
Get-ADSIGlobalCatalog.ps1
57 lines (46 loc) · 1.41 KB
/
Get-ADSIGlobalCatalog.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
50
51
52
53
54
55
56
57
function Get-ADSIGlobalCatalog
{
<#
.SYNOPSIS
Function to retrieve the Global Catalog in the Forest
.DESCRIPTION
Function to retrieve the Global Catalog in the Forest
.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.
.EXAMPLE
Get-ADSIGlobalCatalog
Retrieve the Global Catalog in the current Forest
.EXAMPLE
Get-ADSIGlobalCatalog -forestname 'lazywinadmin.com'
Retrieve the Global Catalog in the forest 'lazywinadmin.com'
.NOTES
Francois-Xavier Cat
www.lazywinadmin.com
@lazywinadm
github.com/lazywinadmin/AdsiPS
#>
[CmdletBinding()]
[OutputType('System.DirectoryServices.ActiveDirectory.GlobalCatalog')]
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 -Message '[Get-ADSIGlobalCatalog][PROCESS] Credential or FirstName specified'
(Get-ADSIForest @PSBoundParameters).GlobalCatalogs
}
CATCH
{
$pscmdlet.ThrowTerminatingError($_)
}
}
}