Freigeben über


Verwenden von Einstellungen-APIs für Jugendschutzeinstellungen

Einstellungen werden vor der Protokollierung erläutert, da die Protokollierung von den Einstellungen des Benutzers abhängig ist.

WMI-API-Einstellungen Schreib-/Lesezugriff

Die WMI-API bietet nicht abstrahierten (rohen) Zugriff auf alle Einstellungen, die von der Infrastruktur für die Kindersicherung instanziiert werden, wie in der Schemadatei Wpcsprov.mof definiert. Der Einstellungsspeicher ist im Namespace \root\CIMV2\Applications\WindowsParentalControls vorhanden, wobei die folgenden Klassendefinitionen ein Schema definieren. Erweiterbarkeitselemente werden notiert.

Pro Computer:

  • WpcSystemSettings (ein instance)
    • AddUser()- und RemoveUser()-Methoden zum Erstellen und Löschen von Einstellungen für die Kindersicherung für eine bestimmte SID.
    • Eigenschaften für das aktuelle Spielbewertungssystem in Kraft sowie Nachverfolgung und Benachrichtigungen im Zusammenhang mit der Überprüfung von Protokollen durch Administratoren.
    • Erweiterbarkeit: Eigenschaften für schreibgeschützte und schreibgeschützte HTTP-Anwendungs- und URL-Ausnahmelisten für webinhaltsfilterung, Webinhaltsfilter überschreiben ID und Name der Ressourcen-DLL-Pfad und ID sowie die Anzahl der Benutzerdefinierten Protokollereignisse und die Registrierung des Headernamens.
  • WpcRatingsSystem (ein instance pro installierten Bewertungssystem)
    • WpcRating (ein instance pro Bewertungsstufe).
    • WpcRatingDescriptor (ein instance pro Bewertungsdeskriptor).
  • Erweiterbarkeit: WpcExtension (ein instance pro Erweiterungslink für den Elternsteuerungsbereich hinzugefügt).
    • Eigenschaften für GUID, Subsystem, ID, Imageressourcenpfad, Deaktivierter Zustandsbildressourcenpfad, ausführbarer Pfad, Anzeigename ressourcen-DLL-Pfad und -ID, Dll-Pfad und ID der Untertitelressource.

Pro kontrollierter Benutzer:

  • WpcUserSettings (ein instance pro kontrollierten Benutzer)

    • Eigenschaften für den Besitz von SID, die Ein-/Aus-Kennzeichnung für die Kindersicherung, das Ein-/Aus-Flag für die Protokollierung, das Ein-/Aus-Flag für Zeitlimits, das aktivierte Flag für Außerkraftsetzungen, die Maske für Anmeldestunden und das Ein-/Aus-Flag für allgemeine Anwendungseinschränkungen.

    • In Windows 8 stellt die vorhandene Eigenschaft die erste halbe Stunde für jede Stunde dar. Eine neue Halbstundeneigenschaft wurde hinzugefügt, um die zweite Hälfte jeder Stunde darzustellen. Eine zusätzliche neue Eigenschaft wurde eingeführt, um das Tägliche Zeitlimit darzustellen.

      Windows 7 und Windows Vista: Timereinschränkungen unterstützten eine Granularität von 1 Stunde.

  • WpcWebSettings (ein instance pro kontrollierter Benutzer)

    • Eigenschaften für den Besitz von SID, filter on/off flag, filter level, file downloads blocked flag, unrated sites blocked flag.
  • WpcUrlOverride (eine instance pro URL, die in der URL-Außerkraftsetzungsliste explizit zulässig oder verweigert wird, die als Zulassungs-/Blockierungsliste für die Filterung von Webinhalten verwendet wird)

    • Eigenschaften für den Besitz von SID, betroffener URL, zulässiger/blockierter Zustand.
  • WpcAppOverride (ein instance pro Pfad, der in der Anwendungsüberschreibungsliste für allgemeine Anwendungseinschränkungen explizit zulässig ist)

    • Eigenschaften für den Besitz von SID. SAFER-Regel-ID, Pfad zur Anwendung.
  • WpcGamesSettings (ein instance pro kontrollierter Benutzer)

    • Eigenschaften für den Besitz von SID, zulässige Spieleflagge, GUID des Bewertungssystems für diese Einstellungen, Zulassen des Flags für nicht bewertete Spiele, ID der maximal zulässigen Bewertung unter dem aktuellen System, Sammlung von verweigerten Deskriptoren.
  • WpcGameOverride (eine instance pro Anwendungs-ID explizit zulässig oder verweigert)

    • Eigenschaften für den Besitz von SID, Anwendungs-ID-Identifizierungsspiel, zulässiger/verweigerter Zustand.

Hinweise zur Datendarstellung

Einige der Einstellungen innerhalb des Schemas werden durch die MOF-Datei mit dem Attribut non_null eingeschränkt. Diese können nicht auf eine NULL-Variante festgelegt werden. Für alle Nicht-Arraytypen initialisiert der Kindersicherungscode Werte. Für Arrays können leere Zustände mithilfe eines Null-Variant-Arrays, einer leeren Variante oder eines Null-Size-Variant-Arrays geschrieben werden. Der WMI-Anbieter normalisiert alle diese beim Lesen auf eine NULL-Variantenzustandsdarstellung.

Für die Verwendung von WMI zum Registrieren eines Links zur Erweiterung der Benutzeroberfläche müssen die folgenden Informationen angegeben werden:

  • GUID: Mehrere Links können dieselbe GUID verwenden, wenn sie Teil eines gemeinsamen Pakets oder einer gemeinsamen Suite sind.
  • Subsystem: Dient zum Angeben von Klassifizierungen von Linktypen, z. B. Suites oder eigenständige kompatible Anwendungen
  • Name Resource DLL-Pfad und ID: Gibt die Ressource für den Anzeigenamen an, der für den Link angezeigt werden soll.
  • Dll-Pfad und ID der Untertitelressource: Gibt die Ressource für zusätzlichen Text unter dem Namen an.
  • Bildpfad : Vollständiger Pfad einer Bitmap mit 24 × 24 Pixeln (BMP) mit einer Farbtiefe von 8 Bit pro Pixel und vorzugsweise einem Alphakanal. Dies wird in einer Weise angegeben, die mit Shellerweiterungen konsistent ist: <Dateisystempfad>,< negative Ressourcen-ID\1>. Beispiel: C:\Windows\System32\Wpccpl.dll,-20.
  • Deaktivierter Bildpfad – identisch mit dem obigen Bildpfad, mit Ausnahme der Variante der Bitmap mit deaktiviertem Zustand. Diese Abbildung wird angezeigt, wenn die Kindersicherung deaktiviert ist.
  • Exe-Pfad: Vollständiger Pfad zu einer ausführbaren Datei, die mithilfe von ShellExecute() aufgerufen werden soll. Dieser Pfad muss mit umgekehrten Schrägstrichen angegeben werden, andernfalls ruft der Link die ausführbare Datei nicht auf. Das Hinzufügen eines %SID%-Tokens nach dem Exe-Pfad führt dazu, dass die Linkausführung die SID-Zeichenfolge für den Benutzer ersetzt, für den die Hubseite derzeit angezeigt wird. Die ausführbare Datei kann dann die SID-Zeichenfolge verwenden, um die Funktionalität für den angegebenen Benutzer zu verwalten.

Die Deinstallation der Anwendung muss eine Erweiterungslinkregistrierung entfernen.

Durch Festlegen der FilterID-Eigenschaft auf dieselbe GUID wie ein vorhandener link für die Erweiterbarkeit der registrierten Benutzeroberfläche wird der angezeigte Link von einem generischen Link in "Andere Einstellungen" auf den exklusiven Link "Webeinschränkungen" heraufgestuft. Dies ist eine computerweite Einstellung, die dazu führt, dass der im Lieferumfang enthaltene Webinhaltsfilter-LSP die gesamte Filterung für alle kontrollierten Benutzer umgeht. Ein aussagekräftiger Name sollte auch in der FilterName-Eigenschaft festgelegt werden, die durch einen Pfad zur Ressourcen-DLL und -ID angegeben wird.

Das Kindersicherungssystem empfiehlt Folgendes aus allen überschreibenden Webfiltern:

  • Achten Sie auf den allgemeinen Ein-/Aus-Zustand der Kindersicherung für einen Benutzer.
  • Berücksichtigen Sie die Aktivitätsberichtseinstellungen für einen Benutzer.
  • Überwachen Sie die FilterID-Eigenschaft. Wenn er sich von der angegebenen GUID des Anbieters ändert, hat ein anderer Filter den Besitz übernommen, und der Filter des Anbieters sollte sich selbst deaktivieren. Es wurde eine COM-Schnittstelle hinzugefügt, um den Aufwand für die regelmäßige Überprüfung dieser Änderung im Vergleich zu einem WMI-Aufruf zu reduzieren.
  • Es wird dringend empfohlen, sowohl die Einträge für schreibgeschützte als auch schreibgeschützte HTTP-Anwendungen und URL-Ausnahmelisten zu berücksichtigen.
  • Es wird empfohlen, die Liste der Benutzer-URL-Außerkraftsetzungen (Zulassungs-/Sperrliste) zu berücksichtigen.
  • Seien Sie robust für schnelle Benutzerwechsel.

Die Kindersicherung legt keine Einschränkungen dafür fest, wie ein Web- oder anderer Inhaltsfilter für die Implementierung der Filterung in Windows integriert wird. Anbieter können ihre aktuellen Investitionen oder bevorzugten Technologien (LSP, TDI, andere) nutzen.

Die Deinstallation des Filters des Anbieters muss die Registrierung der Einträge FilterID und FilterName aufheben. Hierzu legen Sie FilterID auf GUID_NULL und FilterName auf eine Variante NULL fest. Der Im Lieferumfang enthaltene Webinhaltsfilter wird dann erneut aktiviert.

Beachten Sie, dass bei der erneuten Aktivierung des im Lieferumfang enthaltenen Webfilters nur neue Sitzungen und nicht sitzungen gefiltert werden, die vor der Umstellung aktiv sind.

Webinhaltsfilter Zulassen/Blockieren von Listenexport/Importformat

Dieses Feature wird auf Windows 8 nicht unterstützt.

Windows 7 und Windows Vista: Dieses Feature wird unterstützt.

<WebAddresses>

<URL AllowBlock="1">https://alloweddomain.com/</URL>

<URL AllowBlock="1">https://allowedurl.com/allowed/default.html</URL>

<URL AllowBlock="2">https://blockeddomain.com/</URL>

<URL AllowBlock="2">https://blockedurl.com/blocked/default.html</URL>

</WebAddresses>

Hinweise zur Außerkraftsetzung von Anwendungseinschränkungen

Anwendungseinschränkungen werden auf Benutzerbasis festgelegt, um bestimmte Binärdateien oder Pfade zuzulassen. Wenn ein neuer benutzerberechtigter Benutzer konfiguriert ist und Anwendungseinschränkungen für diesen Benutzer erforderlich sind, empfiehlt es sich, den Windows-Ausführungsschlüssel in der Registrierung mit einer kleinen Anwendung zu verwenden, die als Bereitstellung von Höhenerweiterungen zum Schreiben der Außerkraftsetzungen gekennzeichnet ist. Dies führt zu einer einmaligen Anmeldeinformationsaufforderung zum Konfigurieren der Außerkraftsetzungen für den Benutzer, wonach die Zielbinärdateien für die Außerkraftsetzungen für benutzer aufgrund weiterer Überschreibungsaufforderungen durch den Administrator kein Ärgernis darstellen.

Erforderliche Aktionen, damit Einstellungen wirksam werden

Wenn ein Administrator einstellungen für einen angemeldeten Standardbenutzer ändert, wird eine Warnmeldung generiert. Die Einstellungsänderungen werden möglicherweise erst wirksam, wenn sich der kontrollierte Benutzer abmeldet und wieder einlog. Dies ist ein konservatives Design. Die meisten Einstellungen werden fast sofort wirksam, während der kontrollierte Benutzer angemeldet ist. Eine Ausnahme ist für Spiele, bei denen Einstellungen wirksam werden, wenn das nächste Mal die Spiele Explorer ausgeführt wird oder das Spiel aufgerufen wird.

Beispielcode

C++-Beispiele werden im SDK bereitgestellt, die die Verwendung der Erweiterungsfeatures für Einstellungen veranschaulichlich machen. Weitere Informationen finden Sie im Abschnitt Beispiele für die Kindersicherung.

Unabhängige Test Tools

Die Überprüfung von Klassen und Instanzen wird durch das Wmimgmt.msc-Plug-In und das Wbemtest.exe Tool erleichtert.

64-Bit-Überlegungen

In 64-Bit-Windows-Betriebssystemversionen sind derzeit sowohl ein 32-Bit-WMI-Anbieter als auch ein 64-Bit-Anbieter installiert.

Allgemeine Codeentwicklung und -debuggen

Wenn Visual Studio für die Entwicklung von Einstellungsverwaltungscode verwendet wird, erfordert das lokale Debuggen die Ausführung von Visual Studio mit Administratorrechten (Aufrufen von als Administrator über die Befehlszeile oder die Rechtsklickoption). Dies ist auf die von UAC implementierte Prozess- und Nachrichtenisolation zurückzuführen.

Mindestkonformitäts-API-Einstellungen gelesen

Schnittstellen und Methoden

Die von der Headerdatei Wpcapi.h kontrollierte Compliance-API bietet mithilfe von COM-Schnittstellen vereinfachten schreibgeschützten Zugriff auf die folgenden Einstellungen.

IWindowsParentalControls-Stammschnittstellenmethoden bieten Zugriff auf:

  • IWPCSettings-Methoden:
    • IsLoggingRequired(): Ist die Aktivitätsberichterstattung für den Benutzer als aktiviert konfiguriert?
    • GetLastSettingsChangeTime(): Die Anwendung kann erkennen, ob sich Einstellungsrichtlinien seit einer vorherigen Überprüfung geändert haben.
    • GetRestrictions(): Hier erfahren Sie, ob Webeinschränkungen, Zeitlimits, Spieleinschränkungen oder Anwendungseinschränkungen auf On festgelegt sind.
  • IWPCWebSettings-Methoden:
    • GetSettings(): Ruft Flags zum Ein- oder Ausschalten von Filtern und blockierten Downloads ab.
    • RequestURLOverride(): Geben Sie eine Anforderung in den Administratorüberschreibungsmechanismus (über die Schultergenehmigung) ein, der ein Dialogfeld mit den zu genehmigenden URLs enthält.
  • IWPCGamesSettings-Methoden:
    • IsBlocked(): Für eine bestimmte Spielanwendungs-ID ist das Spiel, das von der Kindersicherung blockiert wird und aus welchem Grund.
  • GetVisibility(): Enthält Informationen dazu, ob die Benutzeroberfläche für die Kindersicherung derzeit ausgeblendet ist.
  • GetWebFilterInfo(): stellt eine Schnittstelle zum Abrufen der ID des derzeit aktiven Webinhaltsfilters bereit.

Beispielcode

C++-Beispiele werden im SDK bereitgestellt, das die Verwendung der Compliance-API veranschaulicht. Weitere Informationen finden Sie im Abschnitt Kindersicherungsbeispiele.