UWF_RegistryFilter

Fügt Registrierungsausschlüsse aus der UWF-Filterfilterung (Unified Write Filter) hinzu oder entfernt diese, und setzt auch Registrierungsänderungen fest.

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.

Methoden

Methode BESCHREIBUNG

UWF_RegistryFilter.AddExclusion

Fügt dem Registrierungsausschlussliste für UWF einen Registrierungsschlüssel hinzu.

UWF_RegistryFilter.CommitRegistry

Setzt Änderungen an dem angegebenen Registrierungsschlüssel und -wert fest.

UWF_RegistryFilter.CommitRegistryDeletion

Löscht den angegebenen Registrierungsschlüssel oder Registrierungswert und setzt das Löschen fest.

UWF_RegistryFilter.FindExclusion

Bestimmt, ob ein bestimmter Registrierungsschlüssel von der UWF gefiltert wird.

UWF_RegistryFilter.GetExclusions

Ruft alle Registrierungsschlüsselausschlüsse aus einem System ab, das von UWF geschützt ist.

UWF_RegistryFilter.RemoveExclusion

Entfernt einen Registrierungsschlüssel aus der Registrierungsausschlüsseliste für den Unified Write Filter (UWF).

Eigenschaften

Eigenschaft Datentyp Qualifizierer BESCHREIBUNG

CurrentSession

Boolean

[Taste, lesen]

Gibt an, für welche Sitzung das Objekt Einstellungen enthält.

True , wenn die Einstellungen für die aktuelle Sitzung gelten; False , wenn die Einstellungen für die nächste Sitzung gelten, die einem Neustart folgt.

PersistDomainSecretKey

Boolean

[lesen, schreiben]

Gibt an, ob sich der Registrierungsschlüssel des Domänenschlüssels in der Registrierungsausschlüsseliste befindet. Wenn sich der Registrierungsschlüssel nicht in der Ausschlussliste befindet, werden Änderungen nach einem Neustart nicht beibehalten.

Auf "True" festgelegt, der in die Ausschlussliste aufgenommen werden soll; andernfalls auf "False" festgelegt.

PersistTSCAL

Boolean

[lesen, schreiben]

Gibt an, ob sich der Registrierungsschlüssel (Terminal Server Client Access License, TSCAL) in der Liste der UWF-Registrierungsausschlüsse befindet. Wenn sich der Registrierungsschlüssel nicht in der Ausschlussliste befindet, werden Änderungen nach einem Neustart nicht beibehalten.

Auf "True" festgelegt, der in die Ausschlussliste aufgenommen werden soll; andernfalls auf "False" festgelegt.

Hinweise

Ergänzungen oder Entfernungen von Registrierungsausschlüssen, einschließlich Änderungen an den Werten von PersistDomainSecretKey und PersistTSCAL, werden nach dem nächsten Neustart wirksam, in dem UWF aktiviert ist.

Sie können nur Registrierungsschlüssel im HKLM-Registrierungsstamm zur Liste der UWF-Registrierungsausschlüsse 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

Im folgenden Beispiel wird veranschaulicht, wie UWF-Registrierungsausschlüsse mithilfe des Windows Management Instrumentation (WMI)-Anbieters in einem PowerShell-Skript verwaltet werden.

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 für die aktuelle Sitzung und die nächste Sitzung an, die einem Neustart folgt.

Die zweite Funktion, Add-RegistryExclusion, fügt einen Registrierungseintrag zur Liste der UWF-Registrierungsausschlüsse 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 10 Home Nein
Windows 10 Pro Nein
Windows 10 Enterprise Yes
Windows 10 Education Ja

Einheitlicher Schreibfilter