UWF_RegistryFilter
Ajoute ou supprime des exclusions de Registre du filtrage UWF (Unified Write Filter) et valide également les modifications du Registre.
Syntaxe
class UWF_RegistryFilter{
[key, Read] boolean CurrentSession;
[Read, Write] boolean PersistDomainSecretKey;
[Read, Write] boolean PersistTSCAL;
UInt32 AddExclusion(
string RegistryKey
);
UInt32 RemoveExclusion(
string RegistryKey
);
UInt32 FindExclusion(
[in] string RegistryKey,
[out] boolean bFound
);
UInt32 GetExclusions(
[out, EmbeddedInstance("UWF_ExcludedRegistryKey")] string ExcludedKeys[]
);
UInt32 CommitRegistry(
[in] string RegistryKey,
[in] string ValueName
);
UInt32 CommitRegistryDeletion(
string Registrykey,
string ValueName
);
};
Membres
Les tableaux suivants répertorient les méthodes et propriétés qui appartiennent à cette classe.
Méthode | Description |
---|---|
UWF_RegistryFilter.AddExclusion | Ajoute une clé de Registre à la liste d’exclusions de Registre pour UWF. |
UWF_RegistryFilter.CommitRegistry | Valide les modifications apportées à la clé et à la valeur de Registre spécifiées. |
UWF_RegistryFilter.CommitRegistryDeletion | Supprime la clé de Registre ou la valeur de Registre spécifiée, et valide la suppression. |
UWF_RegistryFilter.FindExclusion | Détermine si une clé de Registre spécifique est exclue d’être filtrée par UWF. |
UWF_RegistryFilter.GetExclusions | Récupère toutes les exclusions de clé de Registre d’un système protégé par UWF |
UWF_RegistryFilter.RemoveExclusion | Supprime une clé de Registre de la liste d’exclusions de Registre pour le filtre d’écriture unifié (UWF). |
Propriétés
Propriété | Type de données | Qualificateurs | Description |
---|---|---|---|
CurrentSession | Boolean | [clé, lecture] | Indique la session pour laquelle l’objet contient les paramètres. - True si les paramètres sont pour la session - active False si les paramètres concernent la session suivante qui suit un redémarrage. |
PersistDomainSecretKey | Boolean | [lecture, écriture] | Indique si la clé de Registre de secret de domaine se trouve dans la liste d’exclusions du Registre. Si la clé de Registre n’est pas dans la liste d’exclusions, les modifications ne sont pas conservées après un redémarrage. - True à inclure dans la liste d’exclusions : sinon False. |
PersistTSCAL | Boolean | [lecture, écriture] | Indique si la clé de Registre TSCAL (Terminal Server Client Access License) se trouve dans la liste d’exclusions du Registre UWF. Si la clé de Registre n’est pas dans la liste d’exclusions, les modifications ne sont pas conservées après un redémarrage. - True à inclure dans la liste d’exclusions : sinon, défini sur False |
Notes
Les ajouts ou suppressions d’exclusions de Registre, y compris les modifications apportées aux valeurs de PersistDomainSecretKey et PersistTSCAL, prennent effet après le redémarrage suivant dans lequel UWF est activé.
Vous pouvez uniquement ajouter des clés de Registre à la racine du registre HKLM à la liste d’exclusions de Registre UWF.
Vous pouvez également utiliser UWF_RegistryFilter pour exclure la clé de Registre des secrets de domaine et la clé de Registre TSCAL du filtrage UWF.
Exemple
L’exemple suivant montre comment gérer les exclusions de Registre UWF à l’aide du fournisseur WMI (Windows Management Instrumentation) dans un script PowerShell.
Le script PowerShell crée quatre fonctions, puis montre comment les utiliser.
La première fonction, Get-RegistryExclusions, affiche une liste d’exclusions de Registre UWF pour la session active et la session suivante qui suit un redémarrage.
La deuxième fonction, Add-RegistryExclusion, ajoute une entrée de Registre à la liste d’exclusions de Registre UWF après avoir redémarré l’appareil.
La troisième fonction, Remove-RegistryExclusion, supprime une entrée de Registre de la liste d’exclusionS UWF après avoir redémarré l’appareil.
La quatrième fonction, Clear-RegistryExclusions, supprime toutes les exclusions de registre UWF. Vous devez redémarrer l’appareil avant que UWF cesse de filtrer les exclusions.
$COMPUTER = "EMBEDDEDDEVICE"
$NAMESPACE = "root\standardcimv2\embedded"
# Define common parameters
$CommonParams = @{"namespace"=$NAMESPACE; "computer"=$COMPUTER}
function Get-RegistryExclusions() {
# This function lists the UWF registry exclusions, both
# for the current session as well as the next session after a restart.
# Get the UWF_RegistryFilter configuration for the current session
$currentConfig = Get-WMIObject -class UWF_RegistryFilter @CommonParams |
where {
$_.CurrentSession -eq $true
};
# Get the UWF_RegistryFilter configuration for the next session after a restart
$nextConfig = Get-WMIObject -class UWF_RegistryFilter @CommonParams |
where {
$_.CurrentSession -eq $false
};
# Display registry exclusions for the current session
if ($currentConfig) {
Write-Host ""
Write-Host "The following registry entries are currently excluded from UWF filtering:";
$currentExcludedList = $currentConfig.GetExclusions()
if ($currentExcludedList.ExcludedKeys) {
foreach ($registryExclusion in $currentExcludedList.ExcludedKeys) {
Write-Host " " $registryExclusion.RegistryKey
}
} else {
Write-Host " None"
}
} else {
Write-Error "Could not retrieve UWF_RegistryFilter.";
}
# Display registry exclusions for the next session after a restart
if ($nextConfig) {
Write-Host ""
Write-Host "The following registry entries will be excluded from UWF filtering after the next restart:";
$nextExcludedList = $nextConfig.GetExclusions()
if ($nextExcludedList.ExcludedKeys) {
foreach ($registryExclusion in $nextExcludedList.ExcludedKeys) {
Write-Host " " $registryExclusion.RegistryKey
}
} else {
Write-Host " None"
}
Write-Host ""
}
}
function Add-RegistryExclusion($exclusion) {
# This function adds a new UWF registry exclusion.
# The new registry exclusion takes effect the next time the device is restarted and UWF is enabled.
# $exclusion is the path of the registry exclusion
# Get the UWF_RegistryFilter configuration for the next session after a restart
$nextConfig = Get-WMIObject -class UWF_RegistryFilter @CommonParams |
where {
$_.CurrentSession -eq $false
};
# Add the exclusion
if ($nextConfig) {
$nextConfig.AddExclusion($exclusion) | Out-Null;
Write-Host "Added exclusion $exclusion.";
} else {
Write-Error "Could not retrieve UWF_RegistryFilter";
}
}
function Remove-RegistryExclusion($exclusion) {
# This function removes a UWF registry exclusion.
# The registry exclusion is removed the next time the device is restarted
# $exclusion is the path of the registry exclusion
# Get the UWF_RegistryFilter configuration for the next session after a restart
$nextConfig = Get-WMIObject -class UWF_RegistryFilter @CommonParams |
where {
$_.CurrentSession -eq $false
};
# Try to remove the exclusion
if ($nextConfig) {
try {
$nextConfig.RemoveExclusion($exclusion) | Out-Null;
Write-Host "Removed exclusion $exclusion.";
} catch {
Write-Host "Could not remove exclusion $exclusion."
}
} else {
Write-Error "Could not retrieve UWF_RegistryFilter";
}
}
function Clear-RegistryExclusions() {
# This function removes all UWF registry exclusions
# The registry exclusions are removed the next time the device is restarted
# Get the configuration for the next session
$nextConfig = Get-WMIObject -class UWF_RegistryFilter @CommonParams |
where {
$_.CurrentSession -eq $false
};
# Remove all registry exclusions
if ($nextConfig) {
Write-Host "Removing all registry exclusions:";
$nextExcludedList = $nextConfig.GetExclusions()
if ($nextExcludedList) {
foreach ($registryExclusion in $nextExcludedList.ExcludedKeys) {
Write-Host "Removing:" $registryExclusion.RegistryKey
$nextConfig.RemoveExclusion($registryExclusion.RegistryKey) | Out-Null
}
} else {
Write-Host "No registry exclusions to remove."
}
Write-Host ""
}
}
# Some examples of using the functions
Clear-RegistryExclusions
Get-RegistryExclusions
Add-RegistryExclusion "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer"
Add-RegistryExclusion "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers\(Default)"
Get-RegistryExclusions
Remove-RegistryExclusion "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer"
Get-RegistryExclusions
Clear-RegistryExclusions
Spécifications
Édition Windows | Pris en charge |
---|---|
Windows Édition familiale | Non |
Windows Pro | Non |
Windows Entreprise | Oui |
Windows Éducation | Oui |
Windows IoT Entreprise | Oui |