mirror of
https://github.com/EvotecIT/GPOZaurr.git
synced 2026-07-26 11:49:17 +00:00
Prevent errors from doing harm
This commit is contained in:
@@ -34,6 +34,7 @@ function Get-GPOZaurrBrokenLink {
|
|||||||
[alias('Domain', 'Domains')][string[]] $IncludeDomains,
|
[alias('Domain', 'Domains')][string[]] $IncludeDomains,
|
||||||
[System.Collections.IDictionary] $ExtendedForestInformation
|
[System.Collections.IDictionary] $ExtendedForestInformation
|
||||||
)
|
)
|
||||||
|
$ErrorFound = $false
|
||||||
$PoliciesAD = @{}
|
$PoliciesAD = @{}
|
||||||
# We need to request all GPOS from Forest. Requesting just for any domain won't be enough
|
# We need to request all GPOS from Forest. Requesting just for any domain won't be enough
|
||||||
$ForestInformation = Get-WinADForestDetails -Forest $Forest -Extended # -Extended
|
$ForestInformation = Get-WinADForestDetails -Forest $Forest -Extended # -Extended
|
||||||
@@ -42,7 +43,13 @@ function Get-GPOZaurrBrokenLink {
|
|||||||
$SystemsContainer = $ForestInformation['DomainsExtended'][$Domain].SystemsContainer
|
$SystemsContainer = $ForestInformation['DomainsExtended'][$Domain].SystemsContainer
|
||||||
if ($SystemsContainer) {
|
if ($SystemsContainer) {
|
||||||
$PoliciesSearchBase = -join ("CN=Policies,", $SystemsContainer)
|
$PoliciesSearchBase = -join ("CN=Policies,", $SystemsContainer)
|
||||||
$PoliciesInAD = Get-ADObject -SearchBase $PoliciesSearchBase -SearchScope OneLevel -Filter * -Server $QueryServer -Properties Name, gPCFileSysPath, DisplayName, DistinguishedName, Description, Created, Modified, ObjectClass, ObjectGUID
|
try {
|
||||||
|
$PoliciesInAD = Get-ADObject -ErrorAction Stop -SearchBase $PoliciesSearchBase -SearchScope OneLevel -Filter * -Server $QueryServer -Properties Name, gPCFileSysPath, DisplayName, DistinguishedName, Description, Created, Modified, ObjectClass, ObjectGUID
|
||||||
|
} catch {
|
||||||
|
Write-Warning "Get-GPOZaurrBrokenLink - An error occured while searching $PoliciesSearchBase. Error $($_.Exception.Message). Please resolve this before continuing."
|
||||||
|
$ErrorFound = $true
|
||||||
|
break
|
||||||
|
}
|
||||||
foreach ($Policy in $PoliciesInAD) {
|
foreach ($Policy in $PoliciesInAD) {
|
||||||
$GUIDFromDN = ConvertFrom-DistinguishedName -DistinguishedName $Policy.DistinguishedName
|
$GUIDFromDN = ConvertFrom-DistinguishedName -DistinguishedName $Policy.DistinguishedName
|
||||||
# $Key = "$($Domain)$($GuidFromDN)"
|
# $Key = "$($Domain)$($GuidFromDN)"
|
||||||
@@ -63,6 +70,9 @@ function Get-GPOZaurrBrokenLink {
|
|||||||
Write-Warning "Get-GPOZaurrBroken - Couldn't get GPOs from $Domain. Skipping"
|
Write-Warning "Get-GPOZaurrBroken - Couldn't get GPOs from $Domain. Skipping"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ($ErrorFound) {
|
||||||
|
return
|
||||||
|
}
|
||||||
# In case of links we can request here whatever user requested.
|
# In case of links we can request here whatever user requested.
|
||||||
# This will search for broken links in domain user requested
|
# This will search for broken links in domain user requested
|
||||||
$ForestInformation = Get-WinADForestDetails -Forest $Forest -Extended -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation
|
$ForestInformation = Get-WinADForestDetails -Forest $Forest -Extended -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation
|
||||||
|
|||||||
Reference in New Issue
Block a user