UWF_RegistryFilter
Fügt Ausnahmen von der Unified Write Filter (UWF)-Filterung hinzu oder entfernt sie aus der Registrierung und überträgt auch Änderungen an der Registrierung.
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 einen Registrierungsschlüssel zur Ausschlussliste der Registrierung für UWF hinzu. |
UWF_RegistryFilter.CommitRegistry | Bestätigt Änderungen an dem angegebenen Registrierungsschlüssel und Wert. |
UWF_RegistryFilter.CommitRegistryDeletion | Löscht den angegebenen Registrierungsschlüssel oder -wert und bestätigt das Löschen. |
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 UWF (Unified Write Filter, einheitlicher Schreibfilter). |
Eigenschaften
Eigenschaft | Datentyp | Qualifizierer | BESCHREIBUNG |
---|---|---|---|
CurrentSession | Boolean | [Schlüssel, lesen] | Gibt an, für welche Sitzung das Objekt Einstellungen enthält. - True , wenn einstellungen für die aktuelle Sitzung - False gelten, wenn die Einstellungen für die nächste Sitzung gelten, die auf einen Neustart folgt. |
PersistDomainSecretKey | Boolean | [lesen, schreiben] | Zeigt an, ob der Registrierungsschlüssel für das Domänengeheimnis in der Registrierungsausschlussliste enthalten ist. Wenn der Registrierungsschlüssel nicht in der Ausschlussliste enthalten ist, werden Änderungen nach einem Neustart nicht beibehalten.- True , um in die Ausschlussliste aufzunehmen, andernfalls False. |
PersistTSCAL | Boolean | [lesen, schreiben] | Gibt an, ob sich der Registrierungsschlüssel für TSCAL (Terminal Server Client Access License) in der Ausschlussliste der UWF-Registrierung befindet. Wenn der Registrierungsschlüssel nicht in der Ausschlussliste enthalten ist, werden die Änderungen nach einem Neustart nicht beibehalten. - True, um in die Ausschlussliste einzuschließen. Andernfalls auf False festgelegt |
Hinweise
Das Hinzufügen oder Entfernen von Registrierungsausschlüssen, einschließlich Änderungen an den Werten von PersistDomainSecretKey und PersistTSCAL, wird nach dem nächsten Neustart wirksam, bei dem UWF aktiviert ist.
Sie können nur Registrierungsschlüssel im HKLM-Registrierungsstamm zur UWF-Registrierungsausschlussliste hinzufügen.
Sie können auch UWF_RegistryFilter verwenden, um den Registrierungsschlüssel des Domänenschlüssels und den TSCAL-Registrierungsschlüssel aus der UWF-Filterung auszuschließen.
Beispiel
Das folgende Beispiel veranschaulicht, wie UWF-Registrierungsausschlüsse mithilfe des WMI-Anbieters (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation) in einem PowerShell-Skript verwaltet werden können.
Das PowerShell-Skript erstellt vier Funktionen und veranschaulicht dann, wie sie verwendet werden.
Die erste Funktion, Get-RegistryExclusions, zeigt eine Liste der UWF-Registrierungsausschlüsse sowohl für die aktuelle Sitzung als auch für die nächste Sitzung nach einem Neustart an.
Die zweite Funktion, Add-RegistryExclusion, fügt der UWF-Registrierungsausschlussliste nach dem Neustart des Geräts einen Registrierungseintrag hinzu.
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 |