Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
WorkSpaces Pool stellt Instanz-Sitzungsskripte bereit. Sie können diese Skripte verwenden, um benutzerdefinierte Skripte auszuführen, wenn in den Streaming-Sitzungen der Benutzer bestimmte Ereignisse auftreten. Sie können beispielsweise benutzerdefinierte Skripts verwenden, um Ihre WorkSpaces Pools-Umgebung vorzubereiten, bevor die Streaming-Sitzungen Ihrer Benutzer beginnen. Sie können benutzerdefinierte Skripte auch einsetzen, um Streaming-Instances zu bereinigen, nachdem die Benutzer ihre Streaming-Sitzungen beendet haben.
Sitzungsskripts werden in einem WorkSpace Bild angegeben. Diese Skripte werden im Benutzer- oder Systemkontext ausgeführt. Wenn die Sitzungsskripts den Standardausgang verwenden, um Informationen, Fehler- oder Debugging-Meldungen zu schreiben, können diese optional in einem Amazon-S3-Bucket im Amazon-Web-Services-Konto gespeichert werden.
Inhalt
Ausführen von Skripten vor dem Beginn von Streaming-Sitzungen
Sie können die Skripte so konfigurieren, dass sie maximal 60 Sekunden vor dem Start der Anwendungen der Benutzer und dem Beginn der Streaming-Sitzungen ausgeführt werden. Auf diese Weise können Sie die WorkSpaces Pools-Umgebung anpassen, bevor Benutzer mit dem Streaming ihrer Anwendungen beginnen. Wenn die Sitzungsskripte ausgeführt werden, wird den Benutzern ein Ladekreisel anzeigt. Nach erfolgreicher Ausführung der Skripte oder nach Ablauf der maximalen Wartezeit beginnen die Streaming-Sitzungen der Benutzer. Können die Skripts nicht abgeschlossen werden, wird den Benutzern eine Fehlermeldung angezeigt. Die Benutzer werden jedoch nicht daran gehindert, ihre Streaming-Sitzung zu nutzen.
Bei der Angabe eines Dateinamens auf einer Windows Instance müssen Sie einen doppelten umgekehrten Schrägstrich verwenden. Zum Beispiel:
C:\\Scripts\\Myscript.bat
Wenn Sie keinen doppelten Backslash verwenden, wird eine Fehlermeldung angezeigt, die Sie darüber informiert, dass die .json
Datei falsch formatiert ist.
Anmerkung
Wenn die Skripte erfolgreich ausgeführt wurden, müssen sie den Wert 0 zurückgeben. Wenn Ihre Skripts einen anderen Wert als 0 zurückgeben, WorkSpaces wird dem Benutzer die Fehlermeldung angezeigt.
Wenn Sie Skripts ausführen, bevor Streaming-Sitzungen beginnen, läuft der folgende Vorgang ab:
-
Ihre Benutzer stellen eine Verbindung zu einem WorkSpaces Pool her, der nicht WorkSpace in eine Domäne eingebunden ist. Sie stellen mithilfe von SAML 2.0 eine Verbindung her.
-
Nun erfolgt einer dieser Schritte:
-
Wenn die Persistenz von Anwendungseinstellungen für die Benutzer aktiviert ist, wird die Virtual Hard Disk (VHD)-Datei mit den Anwendungseinstellungen – Anpassungen sowie Windows-Einstellungen für die Benutzer – heruntergeladen und bereitgestellt. In diesem Fall ist eine Windows-Benutzeranmeldung erforderlich.
Weitere Informationen zur Persistenz von Anwendungseinstellungen siehe Aktivieren Sie die Persistenz der Anwendungseinstellungen für Ihre WorkSpaces Pools-Benutzer.
-
Wenn die Persistenz von Anwendungseinstellungen nicht aktiviert ist, ist der Windows-Benutzer bereits angemeldet.
-
-
Das Sitzungsskript startet. Wenn für die Benutzer persistenter Speicher aktiviert ist, beginnt auch die Bereitstellung des Speicher-Connectors. Informationen zu persistentem Speicher siehe Persistenten Speicher für WorkSpaces Pools aktivieren und verwalten.
Anmerkung
Die Bereitstellung des Speicher-Connectors muss nicht abgeschlossen sein, damit die Streaming-Sitzung startet. Wenn die Sitzungsskripte abgeschlossen werden, bevor die Bereitstellung des Speicher-Connectors abgeschlossen ist, wird die Streaming-Sitzung gestartet.
Informationen zum Überwachen des Bereitstellungsstatus von Speicher-Connectors siehe Verwenden Sie persistenten Speicher mit Sitzungsskripten.
-
Die Sitzungsskripte werden abgeschlossen oder überschreiten das Zeitlimit.
-
Die Streaming-Sitzung des Benutzers startet.
Ausführen von Skripten nach dem Ende von Streaming-Sitzungen
Sie können Skripte auch so konfigurieren, dass sie nach Beendigung der Streaming-Sitzungen von Benutzern ausgeführt werden. Sie können beispielsweise ein Skript ausführen, wenn Benutzer in der WorkSpaces Client-Symbolleiste die Option Sitzung beenden auswählen oder wenn sie die maximal zulässige Sitzungsdauer erreicht haben. Zudem können Sie mit diesen Skripten die WorkSpaces-Umgebung bereinigen, bevor eine Streaming-Instance beendet wird. Sie können beispielsweise Skripte einsetzen, um Dateisperren aufzuheben oder Protokolldateien hochzuladen. Wenn Sie nach Beendigung von Streaming-Sitzungen Skripte ausführen lassen, geschieht Folgendes:
-
Die WorkSpaces Streaming-Sitzung Ihrer Benutzer wird beendet.
-
Die Skripte zur Sitzungsbeendigung werden gestartet.
-
Die Skripte zur Sitzungsbeendigung werden abgeschlossen oder überschreiten das Zeitlimit.
-
Die Windows-Benutzerabmeldung erfolgt.
-
Eine der folgenden Operationen wird ausgeführt (bzw. beide gleichzeitig, falls relevant):
-
Wenn die Persistenz von Anwendungseinstellungen für die Benutzer aktiviert ist, wird die Bereitstellung der VHD-Datei mit den Anwendungseinstellungen – Anpassungen sowie Windows-Einstellungen für die Benutzer – aufgehoben und die Datei in einen Amazon-S3-Bucket Ihres Kontos hochgeladen.
-
Wenn für die Benutzer persistenter Speicher aktiviert ist, führt der Speicher-Connector eine abschließende Synchronisierung durch, bevor seine Bereitstellung aufgehoben wird.
-
-
Das WorkSpace ist beendet.
Erstellen und Angeben von Sitzungsskripten
Gehen Sie wie folgt vor, um Sitzungsskripts für Ihren WorkSpaces In a WorkSpaces Pool zu erstellen und anzugeben.
-
Connect zu dem Windows her, WorkSpaces von dem aus Sie ein benutzerdefiniertes Image erstellen.
-
Erstellen Sie das Verzeichnis
/AWSEUC/SessionScripts
, falls es noch nicht existiert. -
Erstellen Sie mithilfe der Sitzungsskriptkonfigurationsvorlage eine Konfigurationsdatei,
/AWSEUC/SessionScripts/config.json
falls sie noch nicht vorhanden ist. -
Navigieren Sie zu
C:\AWSEUC\SessionScripts
und öffnen Sie die Konfigurationsdateiconfig.json
.Informationen zum Ändern von Sitzungsskriptparametern siehe Sitzungsskript-Konfigurationsdatei.
-
Speichern und schließen Sie die Datei
config.json
, nachdem Sie die gewünschten Änderungen vorgenommen haben. -
Führen Sie die Schritte aus, um ein Bild aus dem zu erstellen WorkSpace. Weitere Informationen finden Sie unter Erstellen Sie ein benutzerdefiniertes Image und ein Paket für WorkSpaces Pools.
Sitzungsskript-Konfigurationsdatei
Um die Konfigurationsdatei für Sitzungsskripten in einer Windows-Instanz zu finden, navigieren Sie zuC:\AWSEUC\SessionScripts\config.json
. Die Datei ist wie folgt formatiert:
Anmerkung
Die Konfigurationsdatei ist im JSON-Format. Stellen Sie sicher, dass jeder Text, den Sie in diese Datei eingeben, ein gültiges JSON-Format hat.
{
"SessionStart": {
"executables": [
{
"context": "system",
"filename": "",
"arguments": "",
"s3LogEnabled": true
},
{
"context": "user",
"filename": "",
"arguments": "",
"s3LogEnabled": true
}
],
"waitingTime": 30
},
"SessionTermination": {
"executables": [
{
"context": "system",
"filename": "",
"arguments": "",
"s3LogEnabled": true
},
{
"context": "user",
"filename": "",
"arguments": "",
"s3LogEnabled": true
}
],
"waitingTime": 30
}
}
Sie können die folgenden Parameter in der Sitzungsskript-Konfigurationsdatei verwenden.
SessionStart/SessionTermination
-
Welche Sitzungsskripte bei Auftreten eines Sitzungsereignisses ausgeführt werden, hängt vom Namen des Objekts ab.
Typ: Zeichenfolge
Required: No
Zulässige Werte:
SessionStart
,SessionTermination
WaitingTime
-
Maximale Dauer der Sitzungsskripte in Sekunden.
Typ: Ganzzahl
Required: No
Einschränkungen: Die maximale Dauer beträgt 60 Sekunden. Wenn die Sitzungsskripte nicht innerhalb dieser Zeit abgeschlossen werden, werden sie beendet. Wenn ein Skript weiter ausgeführt werden soll, starten Sie es als einen separaten Prozess.
Executables
-
Die Details für die auszuführenden Sitzungsskripte.
Typ: Zeichenfolge
Erforderlich: Ja
Einschränkungen: Pro Sitzungsereignis können maximal 2 Skripte ausgeführt werden (eines für den Benutzerkontext, eines für den Systemkontext).
Context
-
Der Kontext, in dem das Sitzungsskript ausgeführt werden soll.
Typ: Zeichenfolge
Erforderlich: Ja
Zulässige Werte:
user
,system
Filename
-
Der vollständige Pfad des auszuführenden Sitzungsskripts. Wenn dieser Parameter nicht angegeben wird, wird das Sitzungsskript nicht ausgeführt.
Typ: Zeichenfolge
Required: No
Einschränkungen: Die maximale Länge für Dateiname und vollständigen Pfad beträgt 1000 Zeichen.
Zulässige Werte:
.bat
,.exe
,.sh
Anmerkung
Sie können auch PowerShell Windows-Dateien verwenden. Weitere Informationen finden Sie unter PowerShell Windows-Dateien verwenden.
Arguments
-
Die Argumente für das Sitzungsskript oder die ausführbare Datei.
Typ: Zeichenfolge
Required: No
Längenbeschränkungen: Die maximale Länge beträgt 1000 Zeichen.
S3LogEnabled
-
Wenn der Wert für diesen Parameter auf
True
gesetzt ist, wird im Amazon-Web-Services-Konto ein S3-Bucket zum Speichern der vom Sitzungsskript generierten Protokolle erstellt. Standardmäßig ist dieser Wert aufTrue
festgelegt. Weitere Informationen finden Sie im Abschnitt Protokollieren der Ausgaben von Sitzungsskripten unten in diesem Thema.Typ: Boolesch
Required: No
Zulässige Werte:
True
,False
PowerShell Windows-Dateien verwenden
Um PowerShell Windows-Dateien zu verwenden, geben Sie den vollständigen Pfad zur PowerShell Datei im filename
Parameter an:
"filename":
"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
Geben Sie das Sitzungsskript im Parameter arguments
an:
"arguments": "-File \"C:\\path\\to\\session\\script.ps1\"",
Stellen Sie abschließend sicher, dass die PowerShell Ausführungsrichtlinie die Ausführung Ihrer PowerShell Datei zulässt.
Protokollieren der Ausgaben von Sitzungsskripten
Wenn diese Option in der Konfigurationsdatei aktiviert ist, erfasst WorkSpaces Pool automatisch die Ausgabe des Sitzungsskripts, die in die Standardausgabe geschrieben wird. Diese Ausgabe wird in einen Amazon S3-Bucket im Konto hochgeladen. Sie können die Protokolldateien im Rahmen der Fehlerbehebung und des Debuggings heranziehen.
Anmerkung
Die Protokolldateien werden hochgeladen, wenn das Sitzungsskript einen Wert zurückgibt oder die in WaitingTime
festgelegte Zeit abgelaufen ist (je nachdem, welches Ereignis zuerst eintritt).
Verwenden Sie persistenten Speicher mit Sitzungsskripten
Wenn WorkSpaces persistenter Speicher aktiviert ist, beginnt das Mounten des Speichers, sobald die Sitzungsstartskripts ausgeführt werden. Wenn Ihr Skript darauf angewiesen ist, dass persistenter Speicher bereitgestellt wird, können Sie warten, bis die Konnektoren verfügbar sind. WorkSpaces verwaltet den Bereitstellungsstatus der Speicherconnectors in der Windows-Registrierung unter Windows unter WorkSpaces dem folgenden Schlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\AWSEUC\Storage\<provided user name>\<Storage connector>
Die Werte des Registrierungsschlüssels lauten wie folgt:
-
Bereitgestellter Benutzername – die über den Zugriffsmodus bereitgestellte Benutzer-ID. Die verfügbaren Zugriffsmodi und die jeweils zugehörigen Werte lauten:
-
Benutzerpool – die E-Mail-Adresse des Benutzers
-
Streaming-URL – die UserID
-
SAML – die NameID. Wenn der Benutzername einen Schrägstrich enthält (z. B. der SAMAccount Name eines Domänenbenutzers), wird der Schrägstrich durch ein „-“ -Zeichen ersetzt.
-
-
Speicher-Connector – der Connector für die persistente Speicheroption, die für den Benutzer aktiviert ist. Mögliche Werte für den Speicher-Connector:
-
HomeFolder
-
Jeder Registrierungsschlüssel für den Storage Connector enthält einen MountStatusDWORD-Wert. In der folgenden Tabelle sind die möglichen Werte für MountStatusaufgeführt.
Anmerkung
Um diese Registrierungsschlüssel anzuzeigen, müssen Sie Microsoft.NET Framework Version 4.7.2 oder höher auf Ihrem Abbild installiert haben.
Wert | Beschreibung |
---|---|
0 |
Der Speicher-Connector wurde für diesen Benutzer nicht aktiviert. |
1 |
Die Bereitstellung des Speicher-Connectors läuft. |
2 |
Der Speicher-Connector wurde bereitgestellt. |
3 |
Der Speicher-Connector konnte nicht bereitgestellt werden. |
4 |
Mounting des Speicher-Connectors ist aktiviert, aber noch nicht gemountet |
Aktivieren der Speicherung von Sitzungsskriptprotokollen in Amazon-S3-Buckets
Wenn Sie die Amazon S3 S3-Protokollierung in Ihrer Sitzungsskriptkonfiguration aktivieren, erfasst WorkSpaces Pool die Standardausgabe Ihres Sitzungsskripts. Die Ausgabe wird regelmäßig in einen S3-Bucket im Amazon-Web-Services-Konto hochgeladen. Für jede AWS Region erstellt WorkSpaces Pool einen Bucket in Ihrem Konto, der für Ihr Konto und die Region einzigartig ist.
Konfigurationsschritte zum Verwalten dieser S3-Buckets sind nicht erforderlich. Sie werden vollständig vom WorkSpaces Dienst verwaltet. Die in einem Bucket gespeicherten Protokolldateien werden während der Übertragung mit Amazon-S3-SSL-Endpunkten und im Ruhezustand mit Amazon-S3-verwalteten Verschlüsselungsschlüsseln verschlüsselt. Die Benennung der Buckets erfolgt wie folgt in einem bestimmten Format:
wspool-logs-<region-code>
-<account-id-without-hyphens>
-random-identifier
<region-code>
-
Dies ist der AWS Regionalcode, in dem der WorkSpaces Pool mit aktiviertem Amazon S3 S3-Bucket-Speicher für Sitzungsskriptprotokolle erstellt wird.
<account-id-without-hyphens>
-
Ihre Konto-ID für Amazon Web Services. Die zufällige ID stellt sicher, dass keine Konflikte mit anderen Buckets in dieser Region auftreten. Der erste Teil des Bucket-Namens,
wspool-logs
, ändert sich konto- oder regionsübergreifend nicht.
Wenn Sie beispielsweise Sitzungsskripte in einem Bild in der Region USA West (Oregon) () anhand der Kontonummer angeben123456789012
, erstellt WorkSpaces Pool innerhalb Ihres Kontos in dieser Region einen Amazon S3 S3-Bucket mit dem angezeigten Namen. us-west-2
Nur ein Administrator mit ausreichenden Berechtigungen kann diesen Bucket löschen.
wspool-logs-us-west-2-1234567890123-abcdefg
Durch das Deaktivieren von Sitzungsskripten werden keine Protokolldateien gelöscht, die im S3-Bucket gespeichert sind. Um Protokolldateien dauerhaft zu löschen, müssen Sie oder ein anderer Administrator mit entsprechenden Berechtigungen die Amazon S3 S3-Konsole oder API verwenden. WorkSpaces Pools fügt eine Bucket-Richtlinie hinzu, die ein versehentliches Löschen des Buckets verhindert.
Wenn Sitzungsskripte aktiviert sind, wird für jede gestartete Streaming-Sitzung ein eindeutiger Ordner erstellt.
Der Pfad für den Ordner, in dem die Protokolldateien im S3-Bucket in Ihrem Konto gespeichert werden, hat die folgende Struktur:
<bucket-name>
/<stack-name>
/<fleet-name>
/<access-mode>
/<user-id-SHA-256-hash>
/<session-id>
/SessionScriptsLogs/<session-event>
<bucket-name>
-
Name des S3-Buckets, in dem die Sitzungsskripte gespeichert werden. Auf das Format des Namens wird weiter oben in diesem Abschnitt eingegangen.
<stack-name>
-
Name des Stacks, aus dem die Sitzung stammt.
<fleet-name>
-
Der Name des WorkSpaces Pools, auf dem das Sitzungsskript ausgeführt wird.
<access-mode>
-
Die Identitätsmethode des Benutzers:
custom
für die WorkSpaces API oder CLI,federated
für SAML unduserpool
für Benutzer im Benutzerpool. <user-id-SHA-256-hash>
-
Der benutzerspezifische Ordnername. Der Name wird aus einer aus der Benutzer-ID generierten hexadezimalen SHA-256-Hash-Zeichenfolge in Kleinbuchstaben gebildet.
<session-id>
-
ID der Streaming-Sitzung des Benutzers. Für jede Streaming-Sitzung eines Benutzers wird eine eindeutige ID generiert.
<session-event>
-
Ereignis, das zum Generieren des Sitzungsprotokolls geführt hat. Die Ereigniswerte lauten
SessionStart
undSessionTermination
.
Das folgende Beispiel für eine Ordnerstruktur gilt für eine Streaming-Sitzung, die von test-stack und test-fleet gestartet wurde. Die Sitzung verwendet die API mit der Benutzer-ID testuser@mydomain.com
aus einer AWS-Konto ID von 123456789012
und der Einstellungsgruppe test-stack
in der Region USA West (Oregon) (us-west-2
):
wspool-logs-us-west-2-1234567890123-abcdefg/test-stack/test-fleet/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13/05yd1391-4805-3da6-f498-76f5x6746016/SessionScriptsLogs/SessionStart/
Dieses Beispiel für eine Ordnerstruktur enthält eine Protokolldatei eines Startskripts für eine Benutzerkontextsitzung sowie eine Protokolldatei eines Startskripts für eine Systemkontextsitzung (sofern relevant).