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

1

Ich erstelle kurzlebige Windows Server-VMs auf AWS und möchte eine Liste der Software installieren, die beim ersten Start unbeaufsichtigt ist. Zu diesem Zweck führe ich beim Start ein Bootstrap-Skript aus, mit dem Chocolatey und anschließend einige benutzerdefinierte Choco-Pakete installiert werden. Das System wird beim Start meiner Domain hinzugefügt und ich weise das Startskript über ein Gruppenrichtlinienobjekt zu. Ich kann bei Bedarf auch andere GP-bezogene Elemente erstellen.

Das Skript läuft einwandfrei, aber das Problem ist, dass viele der über choco ausgeführten Installer eine interaktive Benutzersitzung benötigen, damit sie im Session0-Kontext, in dem das Startskript ausgeführt wird, nicht ausgeführt werden können .

Ich kann eine der folgenden Arbeiten sehen:

  1. Erstellen Sie eine interaktive Sitzung, in der das Skript 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 zur Lösung dieses Problems. Solange ich die Installer irgendwie unbeaufsichtigt über ein Skript ausführen kann, bin ich zufrieden.

Marty
quelle
1
Verwenden Sie psexecdiese Option , um das Skript oder die Installationsdateien mit den Optionen -i und -s zu starten. Dies setzt voraus, dass Ihre Installationsprogramme nicht auf Benutzereingaben warten. Dies ist etwas anderes, das Sie erforschen müssen, um unbeaufsichtigt zu arbeiten.
Appleoddity
Ja, ich habe den Teil der unbeaufsichtigten Installation bereits herausgefunden. Ich werde es versuchen!
Marty
@Appleoddity Nach dem Lesen der psexec-Dokumente muss anscheinend 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
1
Es ist keine Sitzung erforderlich. Ja, die Anwendung wird beim Start als SYSTEM ausgeführt, kann 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
@Appleoddity Das hat super geklappt! Wenn Sie daraus eine Antwort machen möchten, würde ich sie gerne annehmen.
Marty

Antworten:

2

Verwenden Sie PSEXEC , um Ihr Skript oder Ihre Installationsdateien mit den Schaltern -iund zu starten -s. Dadurch werden Ihre Anwendungen als SYSTEM mit einem Interactive Desktop ausgeführt.

Normalerweise füge ich psexec.exeden gleichen Pfad wie meine Skripte auf einer Netzwerkfreigabe ein und rufe ihn dann mit den GPO-Startskripten auf.

Appleoddity
quelle