Interaktives Skript beim Systemstart ausführen oder interaktive Benutzersitzung starten (Windows)

923
Marty

Ich erstelle kurzlebige Windows Server-VMs unter AWS und möchte beim ersten Start eine unbeaufsichtigte Softwareliste installieren. Zu diesem Zweck führe ich beim Start ein Bootstrap-Skript aus, das Chocolatey und dann einige benutzerdefinierte Choco-Pakete installiert. Das System wird beim Start mit meiner Domäne verbunden, und ich weise das Startskript über ein Gruppenrichtlinienobjekt zu. Ich kann bei Bedarf auch andere GP-bezogene Elemente erstellen.

Das Skript läuft gut, aber das Problem, das ich habe, ist, dass viele der Installationsprogramme, die ich über choco ausführt, eine interaktive Benutzersitzung benötigen, damit sie funktionieren, sodass sie nicht im Session0-Kontext ausgeführt werden, in dem das Startskript ausgeführt wird .

Ich kann eine der folgenden Funktionen sehen:

  1. Erstellen Sie eine interaktive Sitzung für das Skript, die beim Systemstart ausgeführt werden soll.
  2. Melden Sie einen Benutzer aus dem Session0-Kontext an (kann ein Domänenbenutzer sein) und installieren Sie die Pakete stattdessen als Anmeldeskript.

Ich bin auch offen für andere Vorschläge, um dieses Problem zu lösen. Solange ich die Installer irgendwie unbeaufsichtigt über ein Skript ausführen kann, bin ich zufrieden.

1
Verwenden Sie `psexec`, um das Skript oder die Installationsdateien mit den Optionen -i und -s zu starten. Es wird davon ausgegangen, dass Ihre Installer nicht auf Benutzereingaben warten. Dies ist etwas anderes, das Sie erforschen müssen, um unbeaufsichtigt zu arbeiten. Appleoddity vor 7 Jahren 1
Ja, ich habe bereits den stillen Installationsabschnitt herausgefunden. Ich werde es versuchen! Marty vor 7 Jahren 0
@Appleoddity Nach dem Lesen der psexec-Dokumente scheint es, als müsste bereits eine Sitzung geöffnet sein. Ich werde es trotzdem versuchen, aber wenn ein Benutzer nicht angemeldet ist, bedeutet das nicht, dass nur Session0 existiert? Marty vor 7 Jahren 0
Es ist keine Sitzung erforderlich. Ja, die Anwendung wird beim Systemstart als SYSTEM ausgeführt, darf jedoch mit dem Desktop interagieren. Vertrau mir, es funktioniert. Vielleicht nicht für alles, ich bin mir nicht sicher. Aber das löst das Problem für mich. Appleoddity vor 7 Jahren 1
@Appleoddity Das hat super funktioniert! Wenn Sie dies zu einer Antwort machen möchten, akzeptiere ich sie gerne. Marty vor 7 Jahren 0
Froh das zu hören. Vielen Dank! Appleoddity vor 7 Jahren 0

1 Antwort auf die Frage

2
Appleoddity

Use PSEXEC to start your script or installer files using the -i and -s switches. This will run your applications as SYSTEM with an Interactive Desktop.

I typically put psexec.exe in the same path as my scripts on a network share then call it with the GPO startup scripts.