Powershell – Conversion GPO en clé de registre

Dans certains cas, il est nécessaire de pouvoir connaitre les clefs de registres modifiés par une GPO.

A l’aide de Powershell et des fonctions « Get-GPRegistry » et « Get-GPRegistryvalue », il est possible de convertir une GPO fichier regedit.

Le script Powershell ci-dessous permet de récupérer chaque clef de registre configuré par une GPO à partir des modèles d’administration.

Celui-ci retourne la liste de chaque clefs ainsi que ça valeur configurée.

Function Get-GPORegeditKeys{

[CmdletBinding()]
param(

[Parameter(Mandatory=$true)][string]$GPOName,
[Parameter(Mandatory=$true)][string]$RegeditRootKey

)

$Result=@()

$LstGPORegeditValue=Get-GPRegistryValue -Name $GPOName -Key $RegeditRootKey

Foreach($GPORegeditValue in $LstGPORegeditValue){

If($GPORegeditValue.ValueName -ne $null){

$objGPORegedit = New-Object System.Object
$objGPORegedit | Add-Member -MemberType NoteProperty -Name ‘FullKeyPath’ -Value $GPORegeditValue.FullKeyPath
$objGPORegedit | Add-Member -MemberType NoteProperty -Name ‘Type’ -Value $GPORegeditValue.Type
$objGPORegedit | Add-Member -MemberType NoteProperty -Name ‘Action’ -Value $GPORegeditValue.PolicyState
$objGPORegedit | Add-Member -MemberType NoteProperty -Name ‘ValueName’ -Value $GPORegeditValue.ValueName
$objGPORegedit | Add-Member -MemberType NoteProperty -Name ‘Value’ -Value $GPORegeditValue.Value

$Result+=$objGPORegedit

}else{

Get-GPORegeditKeys -GPOName $GPOName -RegeditRootKey $GPORegeditValue.FullKeyPath

}

}

$Result

}

Get-GPORegeditKeys -GPOName ‘GPO_Test’ -RegeditRootKey ‘HKEY_LOCAL_MACHINE\SOFTWARE’ | FT

Ci-dessous le résultat du script :

Résultat du script HKLM
Résultat du script HKU

Retourne les valeurs configurées uniquement dans à partir des modèles d’administration. Ne prends pas en compte la partir GPP…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *