mirror of
https://github.com/EvotecIT/GPOZaurr.git
synced 2026-08-05 16:39:28 +00:00
47 lines
2.4 KiB
PowerShell
47 lines
2.4 KiB
PowerShell
function ConvertTo-RegistrySettingsCollection {
|
|
[cmdletBinding()]
|
|
param(
|
|
[Array] $GPOList
|
|
)
|
|
foreach ($GPOEntry in $GPOList) {
|
|
foreach ($Collection in $GPOEntry.Collection) {
|
|
$OutputDictionaries = foreach ($Registry in $Collection.Registry) {
|
|
[ordered] @{
|
|
#"$($Registry.Name)FieldName" = $Registry.Name
|
|
#"$($Registry.Name)FieldStatus" = $Registry.Status
|
|
"$($Registry.Name)BypassErrors" = try { [bool]::Parse($Registry.BypassErrors) } catch { $null };
|
|
"$($Registry.Name)Changed" = [DateTime] $Registry.Changed
|
|
"$($Registry.Name)UID" = $Registry.UID
|
|
"$($Registry.Name)GPOSettingOrder" = $Registry.GPOSettingOrder
|
|
"$($Registry.Name)Action" = $Registry.Properties.action
|
|
"$($Registry.Name)DisplayDecimal" = $Registry.Properties.displayDecimal
|
|
"$($Registry.Name)Default" = $Registry.Properties.default
|
|
"$($Registry.Name)Hive" = $Registry.Properties.hive
|
|
"$($Registry.Name)Name" = $Registry.Properties.name
|
|
"$($Registry.Name)Type" = $Registry.Properties.type
|
|
"$($Registry.Name)Value" = $Registry.Properties.value
|
|
"$($Registry.Name)Values" = $Registry.Properties.Values
|
|
}
|
|
}
|
|
$CreateGPO = [ordered]@{
|
|
DisplayName = $GPOEntry.DisplayName #: WO_SEC_NTLM_Auth_Level
|
|
DomainName = $GPOEntry.DomainName #: area1.local
|
|
GUID = $GPOEntry.GUID #: 364B095E-C7BF-4CC1-9BFA-393BD38975E5
|
|
GpoType = $GPOEntry.GpoType #: Computer
|
|
GpoCategory = $GPOEntry.GpoCategory #: SecuritySettings
|
|
GpoSettings = $GPOEntry.GpoSettings #: SecurityOptions
|
|
}
|
|
foreach ($Dictionary in $OutputDictionaries) {
|
|
$CreateGPO = $CreateGPO + $Dictionary
|
|
}
|
|
$CreateGPO['Linked'] = $GPOEntry.Linked #: True
|
|
$CreateGPO['LinksCount'] = $GPOEntry.LinksCount #: 1
|
|
$CreateGPO['Links'] = $GPOEntry.Links #: area1.local
|
|
[PSCustomObject] $CreateGPO
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|