mirror of
https://github.com/EvotecIT/GPOZaurr.git
synced 2026-07-26 11:49:17 +00:00
Fixes #30
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
Import-Module "$PSScriptRoot\..\GPoZaurr.psd1" -Force
|
||||
|
||||
|
||||
$OUs = Get-GPOZaurrOrganizationalUnit
|
||||
$Ous | Format-Table
|
||||
|
||||
@@ -13,5 +12,6 @@ Get-GPOZaurrOrganizationalUnit -Verbose -ExcludeOrganizationalUnit @(
|
||||
) | Format-Table
|
||||
|
||||
Invoke-GPOZaurr -Type GPOOrganizationalUnit -Online -FilePath $PSScriptRoot\Reports\GPOZaurrOU.html -Exclusions @(
|
||||
#'*OU=Production,DC=ad,DC=evotec,DC=pl'
|
||||
'*OU=Production,DC=ad,DC=evotec,DC=pl'
|
||||
'*OU=Accounts,OU=Administration,DC=ad,DC=evotec,DC=xyz'
|
||||
)
|
||||
@@ -0,0 +1,40 @@
|
||||
function Get-WellKnownFolders {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Gets users and computers well known folders for a forest
|
||||
|
||||
.DESCRIPTION
|
||||
Gets users and computers well known folders for a forest
|
||||
|
||||
.PARAMETER Forest
|
||||
Target different Forest, by default current forest is used
|
||||
|
||||
.PARAMETER ExcludeDomains
|
||||
Exclude domain from search, by default whole forest is scanned
|
||||
|
||||
.PARAMETER IncludeDomains
|
||||
Include only specific domains, by default whole forest is scanned
|
||||
|
||||
.PARAMETER ExtendedForestInformation
|
||||
Ability to provide Forest Information from another command to speed up processing
|
||||
|
||||
.EXAMPLE
|
||||
Get-WellKnownFolders
|
||||
|
||||
.NOTES
|
||||
General notes
|
||||
#>
|
||||
[cmdletBinding()]
|
||||
param(
|
||||
[alias('ForestName')][string] $Forest,
|
||||
[string[]] $ExcludeDomains,
|
||||
[alias('Domain', 'Domains')][string[]] $IncludeDomains,
|
||||
[System.Collections.IDictionary] $ExtendedForestInformation
|
||||
)
|
||||
|
||||
$ForestInformation = Get-WinADForestDetails -Forest $Forest -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation -Extended
|
||||
foreach ($Domain in $ForestInformation.Domains) {
|
||||
$ForestInformation.DomainsExtended[$Domain].ComputersContainer
|
||||
$ForestInformation.DomainsExtended[$Domain].UsersContainer
|
||||
}
|
||||
}
|
||||
@@ -32,7 +32,7 @@
|
||||
$Script:Reporting['GPOOrganizationalUnit']['Variables']['DeleteOU']++
|
||||
#$Script:Reporting['GPOOrganizationalUnit']['Variables']['WillFix']++
|
||||
#$Script:Reporting['GPOOrganizationalUnit']['Variables']['WillFixPerDomain'][$OU.DomainName]++
|
||||
} elseif ($OU.Status -contains 'Excluded') {
|
||||
} elseif ($OU.Status -contains 'Excluded' -or $OU.Status -contains 'Excluded, Default OU') {
|
||||
$Script:Reporting['GPOOrganizationalUnit']['Variables']['Excluded']++
|
||||
$Script:Reporting['GPOOrganizationalUnit']['Variables']['ExcludedOU'].Add($OU.Organizationalunit)
|
||||
} else {
|
||||
@@ -139,6 +139,7 @@
|
||||
New-HTMLTableCondition -Name 'Status' -ComparisonType string -Value 'Delete OU' -BackgroundColor Red -Row
|
||||
New-HTMLTableCondition -Name 'Status' -ComparisonType string -Value 'OK' -BackgroundColor LightGreen -Row
|
||||
New-HTMLTableCondition -Name 'Status' -ComparisonType string -Value 'Excluded' -BackgroundColor DeepSkyBlue -Row
|
||||
New-HTMLTableCondition -Name 'Status' -ComparisonType string -Value 'Excluded, Default OU' -BackgroundColor DeepSkyBlue -Row
|
||||
} -PagingOptions 10, 20, 30, 40, 50 -ExcludeProperty GPO
|
||||
}
|
||||
if ($Script:Reporting['Settings']['HideSteps'] -eq $false) {
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
$CachedGPO = [ordered] @{}
|
||||
|
||||
$ForestInformation = Get-WinADForestDetails -Extended -Forest $Forest -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation
|
||||
$DefaultFolders = Get-WellKnownFolders -Forest $Forest -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation
|
||||
$GroupPolicies = Get-GPOZaurrAD -Forest $Forest -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation
|
||||
foreach ($GPO in $GroupPolicies) {
|
||||
$CachedGPO[$GPO.GPODistinguishedName] = $GPO
|
||||
@@ -117,6 +118,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach ($Exclude in $DefaultFolders) {
|
||||
if ($OU -eq "$Exclude") {
|
||||
$Found = $false
|
||||
break
|
||||
}
|
||||
}
|
||||
if (-not $Found) {
|
||||
continue
|
||||
}
|
||||
@@ -129,6 +136,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach ($Exclude in $DefaultFolders) {
|
||||
if ($OU -eq "$Exclude") {
|
||||
$Status = 'Excluded, Default OU'
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[PSCustomObject] @{
|
||||
|
||||
Reference in New Issue
Block a user