Wie kann ich ein Skript als Administrator in einem Windows-Container ausführen?

14

Ich versuche, das Windows Enterprise WDK auf einem Docker- Image basierend auf windowsservercore zu installieren . Die Anwendung wird durch Entpacken installiert, und das habe ich bereits getan und das Image an Docker übergeben. Jetzt muss ich ein Skript ausführen, das Umgebungsvariablen setzt. Gemäß den Installationsanweisungen für Enterprise WDK muss ich dieses Skript als Administrator ausführen. Ich habe dies direkt auf meinem Desktop-Computer gemacht und es funktioniert Datei. Innerhalb des Docker-Containers lautet der Standardanmeldebenutzer

PS C:\> whoami
user manager\containeradministrator

Ich habe versucht, das Admin-Konto zu aktivieren.

PS C:\> net user administrator /active:yes
The command completed successfully.
PS C:\> net user administrator Pa$$w0rd
The command completed successfully.

Ich versuche, eine Shell als Administrator zu starten, aber der Benutzer ändert sich nicht.

PS C:\> runas /user:administrator powershell
Enter the password for administrator:
Attempting to start powershell as user "C597C386289A\administrator" ...
PS C:\> whoami
user manager\containeradministrator

Und wenn ich mein Skript ausführe, kann es keinen der im Skript angegebenen Umgebungswerte festlegen.

Vorschläge?

Daniel
quelle
2
Hast du es geschafft, das zu lösen?
Fons
1
Möglicherweise liegt ein Problem mit der Benutzerkontensteuerung vor . Können Sie diese vorübergehend deaktivieren? Runas, wie Sie es geschrieben haben, erlaubt das Öffnen einer Eingabeaufforderung mit erhöhten Rechten nicht, siehe hier . Ich würde versuchen, NirCmd :-)
Simlev
1
Wie verbinden Sie sich mit dem Container? RDP? Remote-PowerShell?
Harrymc
1
@harrymc Container im interaktiven Modus ausführen.
Daniel
1
Da es sich bei dem lokalen Administratorkonto um ein ganz besonderes Konto handelt, ist möglicherweise eine Anmeldung erforderlich. Warum können Sie kein anderes "normales" Administratorkonto verwenden?
Harrymc

Antworten:

6

Ihr Problem ist überhaupt nicht unzureichende Rechte. Siehe diesen Artikel .

UAC ist in Server Core nicht verfügbar, da es sich nur um eine Befehlszeilenschnittstelle handelt , keinen IE hat oder Benutzeranwendungen unterstützt. Um die Benutzerkontensteuerung mit der Eingabeaufforderung zu verwenden, müssen Sie über die Explorer-Shell verfügen, damit Sie auf Start klicken, mit der rechten Maustaste auf Eingabeaufforderung klicken und Als Administrator ausführen auswählen können. Dies ist in Server Core offensichtlich nicht möglich.

Sie führen bereits Befehle als Administrator aus, ansonsten Befehle wie

net user administrator Pa$$w0rd

würde unvermeidlich scheitern.

Dein Problem ist etwas anderes.

Sehen Sie hier . Windows Server Core wird für die Installation von WDK nicht unterstützt. Informationen zum Festlegen von Umgebungsvariablen in Server Core finden Sie in dieser Antwort .

Sie sollten sich dieses Skript ansehen und was es tatsächlich tut, wenn es SET- oder SETX-Befehle oder etwas anderes verwendet und Sie dort einen Hinweis finden, warum die Variablen nicht richtig gesetzt werden. Es kann sein, dass sie fest eingestellt sind, aber nicht in Ihrem aktuellen Fenster.

Vojtěch Dohnal
quelle
2
Ich hatte die setBefehle durch den setxVersuch ersetzt, andere Probleme zu beheben. Das hat mich auf den Weg gebracht, echte Administratorrechte zu erlangen.
Daniel