JavaScript-API „Prüfung”
Prüfung ist eine browserbasierte UWP-App, die gesperrte Onlinebewertungen für Tests mit hohem Einsatz rendert, sodass Lehrkräfte sich auf die Bewertungsinhalte konzentrieren können, statt auf die Bereitstellung einer sicheren Testumgebung. Um dies zu erreichen, verwendet sie eine JavaScript-API, die jede Webanwendung nutzen kann. Die „Prüfung“-API unterstützt den SBAC-Browser-API-Standard für allgemeine Kerntests.
Weitere Informationen zur App selbst finden Sie in der technischen Referenz zur App „Prüfung“. Hilfe zur Problembehandlung finden Sie unter Problembehandlung bei Microsoft Prüfung mit der Ereignisanzeige.
Referenzdokumentation
Die Prüfung-APIs sind in den folgenden Namespaces vorhanden. Beachten Sie, dass alle APIs von einem globalen SecureBrowser
-Objekt abhängen.
Namespace | Beschreibung |
---|---|
Sicherheitsnamespace | Enthält APIs, mit denen Sie das Gerät zum Testen sperren und eine Testumgebung erzwingen können. |
Sicherheitsnamespace
Mit dem Sicherheitsnamespace können Sie das Gerät sperren, die Liste der Benutzer- und Systemprozesse überprüfen, MAC- und IP-Adressen abrufen und zwischengespeicherte Webressourcen löschen.
Methode | Beschreibung |
---|---|
lockDown | Sperrt das Gerät zum Testen. |
isEnvironmentSecure | Bestimmt, ob der Sperrmoduskontext weiterhin auf das Gerät angewendet wird. |
getDeviceInfo | Ruft Details zur Plattform ab, auf der die Testanwendung ausgeführt wird. |
examineProcessList | Ruft die Liste der ausgeführten Benutzer- und Systemprozesse ab. |
close | Schließt den Browser und entsperrt das Gerät. |
getPermissiveMode | Überprüft, ob der zulässige Modus aktiviert oder deaktiviert ist. |
setPermissiveMode | Schaltet den zulässigen Modus ein oder aus. |
emptyClipBoard | Löscht die System-Zwischenablage. |
getMACAddress | Ruft die Liste der MAC-Adressen für das Gerät ab. |
getStartTime | Ruft die Zeit ab, zu der die Test-App gestartet wurde. |
getCapability | Fragt ab, ob eine Funktion aktiviert oder deaktiviert ist. |
setCapability | Aktiviert oder deaktiviert die angegebene Funktion. |
isRemoteSession | Überprüft, ob die aktuelle Sitzung remote angemeldet ist. |
isVMSession | Überprüft, ob die aktuelle Sitzung auf einem virtuellen Computer ausgeführt wird. |
lockDown
Sperrt das Gerät. Wird auch zum Entsperren des Geräts verwendet. Die Testwebanwendung ruft diesen Aufruf auf, bevor Lernende mit dem Testen beginnen können. Der Implementierer ist erforderlich, um alle erforderlichen Maßnahmen zum Sichern der Testumgebung auszuführen. Die Schritte zum Sichern der Umgebung sind gerätespezifisch und umfassen beispielsweise Aspekte wie das Deaktivieren von Bildschirmaufnahmen, das Deaktivieren des Sprachchats im abgesicherten Modus, das Löschen der System-Zwischenablage, den Wechsel in einen Kioskmodus, das Deaktivieren von Spaces auf OSX 10.7+-Geräten usw. Die Testanwendung aktiviert die Sperrung, bevor eine Bewertung beginnt, und deaktiviert die Sperrung, wenn der Lernende die Bewertung abgeschlossen hat und sich außerhalb des sicheren Tests befindet.
Syntax
void SecureBrowser.security.lockDown(Boolean enable, Function onSuccess, Function onError);
Parameter
enable
- true, um die „Prüfung“-App über dem Sperrbildschirm auszuführen und Richtlinien anzuwenden, die in diesem Dokumenterläutert wurden. false beendet die Ausführung von „Prüfung“ über dem Sperrbildschirm und schließt sie, es sei denn, die App ist nicht gesperrt. In diesem Fall geschieht nichts.onSuccess
- [optional] Die Funktion, die aufgerufen werden soll, nachdem die Sperrung erfolgreich aktiviert oder deaktiviert wurde. Sie muss die FormFunction(Boolean currentlockdownstate)
haben.onError
- [optional] Die Funktion, die aufgerufen werden soll, wenn der Sperrmodusvorgang fehlgeschlagen ist. Sie muss die FormFunction(Boolean currentlockdownstate)
haben.
Anforderungen
Windows 10, Version 1709 oder höher
isEnvironmentSecure
Bestimmt, ob der Sperrmoduskontext weiterhin auf das Gerät angewendet wird. Die Testwebanwendung ruft dies auf, bevor Lernende den Test starten können, und in regelmäßigen Abständen, wenn sie sich innerhalb des Tests befinden.
Syntax
void SecureBrowser.security.isEnvironmentSecure(Function callback);
Parameter
callback
– Die Funktion, die aufgerufen werden soll, wenn diese Funktion abgeschlossen ist. Sie muss die FormFunction(String state)
haben, wobei es sich beistate
um eine JSON-Zeichenfolge mit zwei Feldern handelt. Das erste ist dassecure
-Feld, dastrue
nur dann anzeigt, wenn alle erforderlichen Sperren aktiviert (oder Features deaktiviert) wurden, um eine sichere Testumgebung zu aktivieren, und keine dieser Funktionen kompromittiert wurde, seit die App in den Sperrmodus gewechselt ist. Das andere Feld,messageKey
, enthält weitere Details oder Informationen, die anbieterspezifisch sind. Im Folgenden sollen Anbieter zusätzliche Informationen einfügen, die das booleschesecure
-Flag erweitern:
{
'secure' : "true/false",
'messageKey' : "some message"
}
Anforderungen
Windows 10, Version 1709 oder höher
getDeviceInfo
Ruft Details zur Plattform ab, auf der die Testanwendung ausgeführt wird. Dies wird verwendet, um alle Informationen zu erweitern, die vom Benutzer-Agent erkannt wurden.
Syntax
void SecureBrowser.security.getDeviceInfo(Function callback);
Parameter
callback
– Die Funktion, die aufgerufen werden soll, wenn diese Funktion abgeschlossen ist. Sie muss die FormFunction(String infoObj)
haben, wobei es sich beiinfoObj
um eine JSON-Zeichenfolge handelt, die mehrere Felder enthält. Die folgenden Felder müssen unterstützt werden:os
stellt den Betriebssystemtyp dar (z. B. Windows, macOS, Linux, iOS, Android usw.)name
stellt den Betriebssystemversionsnamen dar, falls vorhanden (z. B. Sierra, Ubuntu).version
stellt die Betriebssystemversion dar (z. B. 10.1, 10 Pro usw.)brand
stellt das sichere Browserbranding dar (z. B. OAKS, CA, SmarterApp usw.)model
stellt das Gerätemodell nur für mobile Geräte dar; null/nicht verwendet für Desktopbrowser.
Anforderungen
Windows 10, Version 1709 oder höher
examineProcessList
Ruft die Liste aller Prozesse ab, die auf dem Clientcomputer ausgeführt werden und dem Benutzer gehören. Die Testanwendung ruft dies auf, um die Liste zu untersuchen und mit einer Liste der Prozesse zu vergleichen, die während des Testzyklus als auf der Verweigerungsliste eingestuft wurden. Dieser Aufruf sollte sowohl zu Beginn einer Bewertung als auch in regelmäßigen Abständen aufgerufen werden, während der Lernende*r die Bewertung absolviert. Wenn ein Prozess auf der Verweigerungsliste erkannt wird, sollte die Bewertung angehalten werden, um die Testintegrität beizubehalten.
Syntax
void SecureBrowser.security.examineProcessList(String[] denylistedProcessList, Function callback);
Parameter
denylistedProcessList
- Die Liste der Prozesse, die die Testanwendung auf die Verweigerungsliste gesetzt hat.
callback
- Die Funktion, die aufgerufen werden soll, sobald die aktiven Prozesse gefunden wurden. Sie muss folgende Form haben:Function(String foundDenylistedProcesses)
, wobeifoundDenylistedProcesses
diese Form hat:"['process1.exe','process2.exe','processEtc.exe']"
. Sie ist leer, wenn keine Prozesse auf der Verweigerungsliste gefunden wurden. Wenn sie „null“ ist, gibt dies an, dass im ursprünglichen Funktionsaufruf ein Fehler aufgetreten ist.
Hinweise Die Liste enthält keine Systemprozesse.
Anforderungen
Windows 10, Version 1709 oder höher
close
Schließt den Browser und entsperrt das Gerät. Die Testanwendung sollte dies aufrufen, wenn sich der Benutzer entscheidet, den Browser zu beenden.
Syntax
void SecureBrowser.security.close(restart);
Parameter
restart
- Dieser Parameter wird ignoriert, muss aber angegeben werden.
Hinweise in Windows 10, Version 1607, muss das Gerät zunächst gesperrt werden. In späteren Versionen schließt diese Methode den Browser, unabhängig davon, ob das Gerät gesperrt ist.
Anforderungen
Windows 10, Version 1709 oder höher
getPermissiveMode
Die Test-Webanwendung sollte diese Funktion aufrufen, um festzustellen, ob der zulässige Modus aktiviert oder deaktiviert ist. Im zulässigen Modus wird erwartet, dass ein Browser einige seiner strengen Sicherheitshaken entspannt, damit Hilfstechnologien mit dem sicheren Browser funktionieren können. Browser, die andere Anwendungs-UIs beispielsweise aggressiv daran hindern, über ihnen angezeigt zu werden, sollten dies möglicherweise lockern, wenn sie im zulässigen Modus sind.
Syntax
void SecureBrowser.security.getPermissiveMode(Function callback)
Parameter
callback
- Die Funktion, die aufgerufen werden soll, wenn dieser Aufruf abgeschlossen ist. Sie muss diese Form haben:Function(Boolean permissiveMode)
, wobeipermissiveMode
angibt, ob sich der Browser derzeit im zulässigen Modus befindet. Wenn sie nicht definiert oder null ist, ist ein Fehler im Abrufvorgang aufgetreten.
Anforderungen
Windows 10, Version 1709 oder höher
setPermissiveMode
Die Test-Webanwendung sollte dies aufrufen, um den zulässigen Modus ein- oder auszuschalten. Im zulässigen Modus wird erwartet, dass ein Browser einige seiner strengen Sicherheitshaken entspannt, damit Hilfstechnologien mit dem sicheren Browser funktionieren können. Browser, die andere Anwendungs-UIs beispielsweise aggressiv daran hindern, über ihnen angezeigt zu werden, sollten dies möglicherweise lockern, wenn sie im zulässigen Modus sind.
Syntax
void SecureBrowser.security.setPermissiveMode(Boolean enable, Function callback)
Parameter
enable
- Der boolesche Wert, der den beabsichtigten Status des zulässigen Modus angibt.callback
- Die Funktion, die aufgerufen werden soll, wenn dieser Aufruf abgeschlossen ist. Sie muss diese Form haben:Function(Boolean permissiveMode)
, wobeipermissiveMode
angibt, ob sich der Browser derzeit im zulässigen Modus befindet. Wenn sie nicht definiert oder null ist, ist im Einrichtungsvorgang ein Fehler aufgetreten.
Anforderungen
Windows 10, Version 1709 oder höher
emptyClipBoard
Löscht die System-Zwischenablage. Die Testanwendung sollte dies aufrufen, um das Löschen von Daten zu erzwingen, die eventuell in der System-Zwischenablage gespeichert sind. Die lockDown-Funktion führt auch diesen Vorgang aus.
Syntax
void SecureBrowser.security.emptyClipBoard();
Anforderungen
Windows 10, Version 1709 oder höher
getMACAddress
Ruft die Liste der MAC-Adressen für das Gerät ab. Die Testanwendung sollte dies aufrufen, um die Diagnose zu unterstützen.
Syntax
void SecureBrowser.security.getMACAddress(Function callback);
Parameter
callback
- Die Funktion, die aufgerufen werden soll, wenn dieser Aufruf abgeschlossen ist. Sie muss folgende Form haben:Function(String addressArray)
, wobeiaddressArray
diese Form hat:"['00:11:22:33:44:55','etc']"
.
Anmerkungen
Es ist schwierig, sich auf Quell-IP-Adressen zu verlassen, um zwischen Endbenutzercomputern innerhalb der Testserver zu unterscheiden, da Firewalls/NATs/Proxys häufig in den Schulen verwendet werden. Die MAC-Adressen ermöglichen es der App, Endclientcomputer für Diagnosezwecke hinter einer allgemeinen Firewall zu unterscheiden.
Anforderungen
Windows 10, Version 1709 oder höher
getStartTime
Ruft die Zeit ab, zu der die Test-App gestartet wurde.
Syntax
DateTime SecureBrowser.security.getStartTime();
Return
Ein DateTime-Objekt, das angibt, wann die Test-App gestartet wurde.
Anforderungen
Windows 10, Version 1709 oder höher
getCapability
Fragt ab, ob eine Funktion aktiviert oder deaktiviert ist.
Syntax
Object SecureBrowser.security.getCapability(String feature)
Parameter
feature
- Die Zeichenfolge, die bestimmt, welche Funktion abzufragen ist. Gültige Funktionszeichenfolgen sind „screenMonitoring“, „printing“ und „textSuggestions“ (Groß-/Kleinschreibung wird nicht beachtet).
Rückgabewert
Diese Funktion gibt entweder ein JavaScript-Objekt oder ein Literal mit folgender Form zurück: {<feature>:true|false}
. true , wenn die abgefragte Funktion aktiviert ist, false, wenn die Funktion nicht aktiviert ist oder die Funktionszeichenfolge ungültig ist.
Anforderungen Windows 10, Version 1703 oder höher
setCapability
Aktiviert oder deaktiviert eine bestimmte Funktion im Browser.
Syntax
void SecureBrowser.security.setCapability(String feature, String value, Function onSuccess, Function onError)
Parameter
feature
- Die Zeichenfolge, die bestimmt, welche Funktion festgelegt werden soll. Gültige Funktionszeichenfolgen sind"screenMonitoring"
,"printing"
und"textSuggestions"
(Groß-/Kleinschreibung wird nicht beachtet).value
- Die beabsichtigte Einstellung für das Feature. Sie muss entweder"true"
oder"false"
sein.onSuccess
- [optional] Die Funktion, die aufgerufen werden soll, nachdem der Einrichtungsvorgang erfolgreich abgeschlossen wurde. Sie muss die FormFunction(String jsonValue)
haben, wobei jsonValue diese Form hat:{<feature>:true|false|undefined}
.onError
- [optional] Die Funktion, die aufgerufen werden soll, wenn der Einrichtungsvorgang fehlgeschlagen ist. Sie muss die FormFunction(String jsonValue)
haben, wobei jsonValue diese Form hat:{<feature>:true|false|undefined}
.
Anmerkungen
Wenn das Zielfeature für den Browser unbekannt ist, übergibt diese Funktion den Wert undefined
an die Rückruffunktion.
Anforderungen Windows 10, Version 1703 oder höher
isRemoteSession
Überprüft, ob die aktuelle Sitzung remote angemeldet ist.
Syntax
Boolean SecureBrowser.security.isRemoteSession();
Rückgabewert
true, wenn die aktuelle Sitzung remote ist, andernfalls false.
Anforderungen
Windows 10, Version 1709 oder höher
isVMSession
Überprüft, ob die aktuelle Sitzung auf einer VM ausgeführt wird.
Syntax
Boolean SecureBrowser.security.isVMSession();
Rückgabewert
true, wenn die aktuelle Sitzung auf einer VM ausgeführt wird, andernfalls false.
Anmerkungen
Diese API-Überprüfung kann nur VM-Sitzungen erkennen, die in bestimmten Hypervisoren ausgeführt werden, die die entsprechenden APIs implementieren
Anforderungen
Windows 10, Version 1709 oder höher