Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions ADMF/ADMF.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
RootModule = 'ADMF.psm1'

# Version number of this module.
ModuleVersion = '1.13.108'
ModuleVersion = '1.13.110'

# ID used to uniquely identify this module
GUID = '43f2a890-942f-4dd7-bad0-b774b44ea849'
Expand Down Expand Up @@ -33,8 +33,8 @@
@{ ModuleName = 'Principal'; ModuleVersion = '1.0.0' }
@{ ModuleName = 'ADMF.Core'; ModuleVersion = '1.1.9' }
@{ ModuleName = 'DCManagement'; ModuleVersion = '1.2.25' }
@{ ModuleName = 'DomainManagement'; ModuleVersion = '1.9.218' }
@{ ModuleName = 'ForestManagement'; ModuleVersion = '1.5.79' }
@{ ModuleName = 'DomainManagement'; ModuleVersion = '1.9.228' }
@{ ModuleName = 'ForestManagement'; ModuleVersion = '1.5.81' }
)

# Assemblies that must be loaded prior to importing this module
Expand Down
Binary file modified ADMF/bin/ADMF.dll
Binary file not shown.
Binary file modified ADMF/bin/ADMF.pdb
Binary file not shown.
5 changes: 5 additions & 0 deletions ADMF/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

## 1.13.110 (2025-10-02)

- Upd: Invoke-AdmfForest - reordered sequence to prioritize formal schema updates over custom extensions.
- Upd: Test-AdmfForest - added "SchemaManage" option, to trigger additional test results for schema attributes that exist in schema but have no configuration.

## 1.13.108 (2025-05-28)

- New: DefaultGroupMemberships - Added default groupmemberships as a Component
Expand Down
47 changes: 25 additions & 22 deletions ADMF/functions/Invoke-AdmfForest.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,31 @@
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'Server Site Assignment', $parameters.Server
Invoke-FMServer @parameters
}
if ($newOptions -band [UpdateForestOptions]::Schema) {
if ($newOptions -band [UpdateForestOptions]::ForestLevel) {
if (Get-FMForestLevel) {
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'ForestLevel', $parameters.Server
Invoke-FMForestLevel @parameters
}
else { Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'ForestLevel' }
}
if ($newOptions -band [UpdateForestOptions]::SchemaLdif) {
if (Get-FMSchemaLdif) {
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'Schema (Ldif)', $parameters.Server
Invoke-FMSchemaLdif @parameters
}
else { Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'Schema (Ldif)' }
}
if ($newOptions -band [UpdateForestOptions]::ExchangeSchema) {
if (Get-FMExchangeSchema) {
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'ExchangeSchema', $parameters.Server
Invoke-FMExchangeSchema @parameters
}
else { Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'ExchangeSchema' }
}
if (
($newOptions -band [UpdateForestOptions]::Schema) -or
($newOptions -band [UpdateForestOptions]::SchemaManage)
) {
if (Get-FMSchema) {
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'Schema (Custom)', $parameters.Server
Invoke-FMSchema @parameters
Expand All @@ -122,13 +146,6 @@
}
else { Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'Schema Default Permissions' }
}
if ($newOptions -band [UpdateForestOptions]::SchemaLdif) {
if (Get-FMSchemaLdif) {
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'Schema (Ldif)', $parameters.Server
Invoke-FMSchemaLdif @parameters
}
else { Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'Schema (Ldif)' }
}
if ($newOptions -band [UpdateForestOptions]::NTAuthStore) {
if (Get-FMNTAuthStore) {
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'NTAuthStore', $parameters.Server
Expand All @@ -143,20 +160,6 @@
}
else { Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'Certificate' }
}
if ($newOptions -band [UpdateForestOptions]::ForestLevel) {
if (Get-FMForestLevel) {
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'ForestLevel', $parameters.Server
Invoke-FMForestLevel @parameters
}
else { Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'ForestLevel' }
}
if ($newOptions -band [UpdateForestOptions]::ExchangeSchema) {
if (Get-FMExchangeSchema) {
Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Executing.Invoke' -StringValues 'ExchangeSchema', $parameters.Server
Invoke-FMExchangeSchema @parameters
}
else { Write-PSFMessage -Level Host -String 'Invoke-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'ExchangeSchema' }
}
}
catch {
Write-Error $_
Expand Down
9 changes: 7 additions & 2 deletions ADMF/functions/Test-AdmfForest.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,15 @@
Write-PSFMessage -Level Host -String 'Test-AdmfForest.Executing.Test' -StringValues 'Server Site Assignment', $parameters.Server
Test-FMServer @parameters
}
if ($newOptions -band [UpdateForestOptions]::Schema) {
if (
($newOptions -band [UpdateForestOptions]::Schema) -or
($newOptions -band [UpdateForestOptions]::SchemaManage)
) {
if (Get-FMSchema) {
$manageParam = @{}
if ($newOptions -band [UpdateForestOptions]::SchemaManage) { $manageParam.ReportUnconfigured = $true }
Write-PSFMessage -Level Host -String 'Test-AdmfForest.Executing.Test' -StringValues 'Schema (Custom)', $parameters.Server
Test-FMSchema @parameters
Test-FMSchema @parameters @manageParam
}
else { Write-PSFMessage -Level Host -String 'Test-AdmfForest.Skipping.Test.NoConfiguration' -StringValues 'Schema (Custom)' }
}
Expand Down
Loading