UWF_RegistryFilter
Adiciona ou remove exclusões de registo da filtragem do Filtro de Escrita Unificado (UWF) e também consolida as alterações do registo.
Sintaxe
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
);
};
Membros
As tabelas seguintes listam os métodos e propriedades que pertencem a esta classe.
Método | Descrição |
---|---|
UWF_RegistryFilter.AddExclusion | Adiciona uma chave de registo à lista de exclusão do registo para UWF. |
UWF_RegistryFilter.CommitRegistry | Consolida as alterações à chave e ao valor do registo especificados. |
UWF_RegistryFilter.CommitRegistryDeletion | Elimina a chave de registo ou o valor de registo especificado e consolida a eliminação. |
UWF_RegistryFilter.FindExclusion | Determina se uma chave de registo específica está excluída de ser filtrada pela UWF. |
UWF_RegistryFilter.GetExclusions | Obtém todas as exclusões de chaves de registo de um sistema protegido pela UWF |
UWF_RegistryFilter.RemoveExclusion | Remove uma chave de registo da lista de exclusão de registo do Filtro de Escrita Unificado (UWF). |
Propriedades
Propriedade | Tipo de dados | Qualificadores | Descrição |
---|---|---|---|
CurrentSession | Booliano | [chave, leitura] | Indica para que sessão o objeto contém definições.
- Verdadeiro se as definições forem para a sessão - atual Falso se as definições forem para a próxima sessão que se segue a um reinício. |
PersistDomainSecretKey | Booliano | [ler, escrever] | Indica se a chave de registo do segredo do domínio está na lista de exclusão do registo. Se a chave do registo não estiver na lista de exclusão, as alterações não serão mantidas após um reinício. - Verdadeiro para incluir na lista de exclusão – Caso contrário , Falso. |
PersistTSCAL | Booliano | [ler, escrever] | Indica se a chave de registo TSCAL (Licença de Acesso de Cliente do Servidor de Terminais) está na lista de exclusão do registo UWF. Se a chave do registo não estiver na lista de exclusão, as alterações não serão mantidas após um reinício.
- Verdadeiro para incluir na lista de exclusão – Caso contrário, defina como Falso |
Comentários
As adições ou remoção de exclusões de registo, incluindo alterações aos valores de PersistDomainSecretKey e PersistTSCAL, produzem efeitos após o próximo reinício em que o UWF está ativado.
Só pode adicionar chaves de registo na raiz do registo HKLM à lista de exclusão do registo UWF.
Também pode utilizar UWF_RegistryFilter para excluir a chave de registo do segredo do domínio e a chave de registo TSCAL da filtragem UWF.
Exemplo
O exemplo seguinte demonstra como gerir exclusões de registo UWF com o fornecedor do Windows Management Instrumentation (WMI) num script do PowerShell.
O script do PowerShell cria quatro funções e, em seguida, demonstra como utilizá-las.
A primeira função, Get-RegistryExclusions, apresenta uma lista de exclusões do registo UWF para a sessão atual e a sessão seguinte que se segue a um reinício.
A segunda função, Add-RegistryExclusion, adiciona uma entrada de registo à lista de exclusão do registo UWF depois de reiniciar o dispositivo.
A terceira função, Remove-RegistryExclusion, remove uma entrada de registo da lista de exclusão do UWF depois de reiniciar o dispositivo.
A quarta função , Clear-RegistryExclusions, remove todas as exclusões do registo UWF. Tem de reiniciar o dispositivo antes que a UWF deixe de filtrar as exclusões.
$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
Edição do Windows | Com suporte |
---|---|
Windows Home | Não |
Windows Pro | Não |
Windows Enterprise | Sim |
Windows Education | Sim |
Windows IoT Enterprise | Sim |