UWF_RegistryFilter
Agrega o quita exclusiones del Registro del filtrado de filtro de escritura unificado (UWF) y también confirma los cambios del Registro.
Sintaxis
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
);
};
Miembros
En las tablas siguientes se enumeran los métodos y propiedades que pertenecen a esta clase.
Método | Descripción |
---|---|
UWF_RegistryFilter.AddExclusion | Agrega una clave del Registro a la lista de exclusión del Registro para UWF. |
UWF_RegistryFilter.CommitRegistry | Confirma los cambios en la clave y el valor del Registro especificados. |
UWF_RegistryFilter.CommitRegistryDeletion | Elimina la clave del Registro o el valor del Registro especificados y confirma la eliminación. |
UWF_RegistryFilter.FindExclusion | Determina si UWF excluye una clave del Registro específica del filtrado. |
UWF_RegistryFilter.GetExclusions | Recupera todas las exclusiones de claves del Registro de un sistema protegido por UWF |
UWF_RegistryFilter.RemoveExclusion | Quita una clave del Registro de la lista de exclusión del Registro para el filtro de escritura unificado (UWF). |
Propiedades
Propiedad | Tipo de datos | Calificadores | Descripción |
---|---|---|---|
CurrentSession | Booleano | [clave, lectura] | Indica para qué sesión contiene la configuración el objeto.
- True si la configuración es para la sesión - actual False si la configuración es para la siguiente sesión que sigue a un reinicio. |
PersistDomainSecretKey | Booleano | [leer, escribir] | Indica si la clave del Registro secreto de dominio está en la lista de exclusión del Registro. Si la clave del Registro no está en la lista de exclusión, los cambios no se conservan después de un reinicio. - True para incluir en la lista de exclusión: en caso contrario, False. |
PersistTSCAL | Booleano | [leer, escribir] | Indica si la clave del Registro de licencia de acceso de cliente de Terminal Server (TSCAL) está en la lista de exclusión del Registro UWF. Si la clave del Registro no está en la lista de exclusión, los cambios no se conservan después de un reinicio.
- True para incluir en la lista de exclusión: en caso contrario, establezca en False. |
Observaciones
Las adiciones o eliminaciones de exclusiones del Registro, incluidos los cambios en los valores de PersistDomainSecretKey y PersistTSCAL, surten efecto después del siguiente reinicio en el que UWF está habilitado.
Solo puede agregar claves del Registro en la raíz del Registro HKLM a la lista de exclusión del Registro UWF.
También puede usar UWF_RegistryFilter para excluir la clave del Registro secreto de dominio y la clave del Registro TSCAL del filtrado de UWF.
Por ejemplo:
En el ejemplo siguiente se muestra cómo administrar las exclusiones del Registro UWF mediante el proveedor de Instrumental de administración de Windows (WMI) en un script de PowerShell.
El script de PowerShell crea cuatro funciones y, a continuación, muestra cómo usarlas.
La primera función, Get-RegistryExclusions, muestra una lista de exclusiones del Registro UWF para la sesión actual y la siguiente sesión que sigue a un reinicio.
La segunda función, Add-RegistryExclusion, agrega una entrada del Registro a la lista de exclusión del Registro UWF después de reiniciar el dispositivo.
La tercera función, Remove-RegistryExclusion, quita una entrada del Registro de la lista de exclusión de UWF después de reiniciar el dispositivo.
La cuarta función, Clear-RegistryExclusions, quita todas las exclusiones del Registro UWF. Debe reiniciar el dispositivo antes de que UWF deje de filtrar las exclusiones.
$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
Requisitos
Edición de Windows | Se admite |
---|---|
Windows Home | No |
Windows Pro | No |
Windows Enterprise | Sí |
Windows Education | Sí |
Windows IoT Enterprise | Sí |