UWF_RegistryFilter
Fügt Registrierungsausschlüsse aus der UWF-Filterung (Unified Write Filter) hinzu oder entfernt sie und committet auch Registrierungsänderungen.
Syntax
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
);
};
Member
In den folgenden Tabellen sind die Methoden und Eigenschaften aufgeführt, die zu dieser Klasse gehören.
Methode | Beschreibung |
---|---|
UWF_RegistryFilter.AddExclusion | Fügt der Registrierungsausschlussliste für UWF einen Registrierungsschlüssel hinzu. |
UWF_RegistryFilter.CommitRegistry | Committet Änderungen an dem angegebenen Registrierungsschlüssel und -wert. |
UWF_RegistryFilter.CommitRegistryDeletion | Löscht den angegebenen Registrierungsschlüssel oder Registrierungswert und committet den Löschvorgang. |
UWF_RegistryFilter.FindExclusion | Bestimmt, ob ein bestimmter Registrierungsschlüssel von der Filterung durch UWF ausgeschlossen wird. |
UWF_RegistryFilter.GetExclusions | Ruft alle Registrierungsschlüsselausschlüsse aus einem System ab, das durch UWF geschützt ist. |
UWF_RegistryFilter.RemoveExclusion | Entfernt einen Registrierungsschlüssel aus der Registrierungsausschlussliste für Unified Write Filter (UWF). |
Eigenschaften
Eigenschaft | Datentyp | Qualifikation | Beschreibung |
---|---|---|---|
CurrentSession | Boolesch | [key, read] | Gibt an, für welche Sitzung das Objekt Einstellungen enthält.
- True , wenn einstellungen für die aktuelle Sitzung - False sind, wenn die Einstellungen für die nächste Sitzung gelten, die auf einen Neustart folgt. |
PersistDomainSecretKey | Boolesch | [lesen, schreiben] | Gibt an, ob sich der Registrierungsschlüssel des Domänengeheimnisses in der Registrierungsausschlussliste befindet. Wenn der Registrierungsschlüssel nicht in der Ausschlussliste enthalten ist, werden Änderungen nach einem Neustart nicht beibehalten. - True , der in die Ausschlussliste aufgenommen werden soll, andernfalls False. |
PersistTSCAL | Boolesch | [lesen, schreiben] | Gibt an, ob sich der Registrierungsschlüssel terminal Server Client Access License (TSCAL) in der UWF-Registrierungsausschlussliste befindet. Wenn der Registrierungsschlüssel nicht in der Ausschlussliste enthalten ist, werden Änderungen nach einem Neustart nicht beibehalten.
- True, der in die Ausschlussliste aufgenommen werden soll. Andernfalls auf False festgelegt |
Hinweise
Hinzufügungen oder Entfernungen von Registrierungsausschlüssen, einschließlich Änderungen an den Werten von PersistDomainSecretKey und PersistTSCAL, werden nach dem nächsten Neustart, bei dem UWF aktiviert ist, wirksam.
Sie können der UWF-Registrierungsausschlussliste nur Registrierungsschlüssel im HKLM-Registrierungsstamm hinzufügen.
Sie können auch UWF_RegistryFilter verwenden, um den geheimen Domänenschlüssel und den TSCAL-Registrierungsschlüssel aus der UWF-Filterung auszuschließen.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie Sie UWF-Registrierungsausschlüsse mithilfe des WMI-Anbieters (Windows Management Instrumentation) in einem PowerShell-Skript verwalten.
Das PowerShell-Skript erstellt vier Funktionen und veranschaulicht dann deren Verwendung.
Die erste Funktion, Get-RegistryExclusions, zeigt eine Liste der UWF-Registrierungsausschlüsse für die aktuelle Sitzung und die nächste Sitzung an, die auf einen Neustart folgt.
Die zweite Funktion, Add-RegistryExclusion, fügt der UWF-Registrierungsausschlussliste einen Registrierungseintrag hinzu, nachdem Sie das Gerät neu gestartet haben.
Die dritte Funktion, Remove-RegistryExclusion, entfernt einen Registrierungseintrag aus der UWF-Ausschlussliste, nachdem Sie das Gerät neu gestartet haben.
Die vierte Funktion , Clear-RegistryExclusions, entfernt alle UWF-Registrierungsausschlüsse. Sie müssen das Gerät neu starten, bevor UWF die Filterung der Ausschlüsse beendet.
$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
Anforderungen
Windows-Edition | Unterstützt |
---|---|
Windows Home | Nein |
Windows Pro | Nein |
Windows Enterprise | Ja |
Windows Education | Ja |
Windows IoT Enterprise | Ja |