BlockedInheritance Improve

This commit is contained in:
Przemyslaw Klys
2021-04-11 21:11:36 +02:00
parent 53aa69029f
commit 9da8c7c94b
4 changed files with 49 additions and 61 deletions
+1 -1
View File
@@ -99,7 +99,7 @@
} else {
foreach ($Path in $GPOPath) {
Write-Verbose "Get-GPOZaurr - Getting GPO content from XML files"
Get-ChildItem -LiteralPath $Path -Recurse -Filter *.xml | ForEach-Object {
Get-ChildItem -LiteralPath $Path -Recurse -Filter *.xml -ErrorAction SilentlyContinue | ForEach-Object {
if ($_.Name -ne 'GPOList.xml') {
$XMLContent = [XML]::new()
$XMLContent.Load($_.FullName)
+4 -4
View File
@@ -64,7 +64,7 @@
$InheritanceInformation = [Ordered] @{
CanonicalName = $OU.canonicalName
BlockedInheritance = if ($OU.gpOptions -eq 1) { $true } else { $false }
Excluded = $false
Exclude = $false
DomainName = ConvertFrom-DistinguishedName -ToDomainCN -DistinguishedName $OU.DistinguishedName
}
if ($InheritanceInformation.BlockedInheritance -and $IncludeGroupPoliciesForBlockedObjects.IsPresent) {
@@ -88,12 +88,12 @@
}
if ($Exclusions) {
if ($ExclusionsCache[$OU.canonicalName]) {
$InheritanceInformation['Excluded'] = $true
$InheritanceInformation['Exclude'] = $true
} elseif ($ExclusionsCache[$OU.DistinguishedName]) {
$InheritanceInformation['Excluded'] = $true
$InheritanceInformation['Exclude'] = $true
}
}
if (-not $IncludeExcludedObjects -and $InheritanceInformation['Excluded']) {
if (-not $IncludeExcludedObjects -and $InheritanceInformation['Exclude']) {
continue
}
if (-not $IncludeBlockedObjects) {
+7 -24
View File
@@ -2,7 +2,7 @@
[alias('Show-GPOZaurr', 'Show-GPO')]
[cmdletBinding()]
param(
[Parameter(Position = 1)][scriptblock] $ExcludeGroupPolicies,
[alias('ExcludeGroupPolicies', 'ExclusionsCode')][Parameter(Position = 1)][object] $Exclusions,
[string] $FilePath,
[Parameter(Position = 0)][string[]] $Type,
[switch] $PassThru,
@@ -50,27 +50,6 @@
Write-Color '[i]', "[GPOZaurr] ", 'Domain Information', ' [Informative] ', "Included Domains: ", $DisplayIncludedDomains -Color Yellow, DarkGray, Yellow, DarkGray, Yellow, Magenta
Write-Color '[i]', "[GPOZaurr] ", 'Domain Information', ' [Informative] ', "Excluded Domains: ", $DisplayExcludedDomains -Color Yellow, DarkGray, Yellow, DarkGray, Yellow, Magenta
# Exclusions support, converts ScriptBlock into list of GPOs
<#
$Exclusions = [ordered]@{}
if ($Extension) {
$Exclusions['All'] = [System.Collections.Generic.List[PSCustomObject]]::new()
[Array] $ExecuteExtension = & $Extension
foreach ($Ext in $ExecuteExtension) {
if ($Ext.Type -eq 'Exclusion') {
if ($Ext.Type) {
if (-not $Exclusions[$Ext.Type]) {
$Exclusions[$Ext.Type] = [System.Collections.Generic.List[PSCustomObject]]::new()
}
$Exclusions[$Ext.Type].Add($Ext)
} else {
$Exclusions['All'].Add($Ext)
}
}
}
}
#>
# Lets make sure we only enable those types which are requestd by user
if ($Type) {
foreach ($T in $Script:GPOConfiguration.Keys) {
@@ -96,8 +75,12 @@
Variables = Copy-Dictionary -Dictionary $Script:GPOConfiguration[$T]['Variables']
}
if ($Exclusions) {
$Script:Reporting[$T]['ExclusionsCode'] = $ExcludeGroupPolicies
$Script:Reporting[$T]['Exclusions'] = & $ExcludeGroupPolicies
if ($Exclusions -is [scriptblock]) {
$Script:Reporting[$T]['ExclusionsCode'] = $Exclusions
}
if ($Exclusions -is [Array]) {
$Script:Reporting[$T]['Exclusions'] = $Exclusions
}
}
$TimeLogGPOList = Start-TimeLog