Jak mogę uruchomić skrypt jako administrator w kontenerze Windows

14

Próbuję zainstalować Windows Enterprise WDK na obrazie Docker opartym na Windowsservercore . Aplikacja instaluje się przez rozpakowanie, a ja już to zrobiłem i przekazałem ten obraz do Dockera. Teraz muszę uruchomić skrypt, który ustawia zmienne środowiskowe. Zgodnie z instrukcjami instalacji Enterprise WDK muszę uruchomić ten skrypt jako administrator. Zrobiłem to bezpośrednio na moim komputerze stacjonarnym i działa plik. W kontenerze Docker domyślnym użytkownikiem logowania jest

PS C:\> whoami
user manager\containeradministrator

Próbowałem włączyć konto administratora.

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

Próbuję uruchomić powłokę jako administrator, ale użytkownik się nie zmienia.

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

A jeśli uruchomię skrypt, nie ustawię żadnej z wartości środowiskowych określonych w skrypcie.

Propozycje?

Daniel
źródło
2
Czy udało ci się to rozwiązać?
fons
1
Możesz mieć problem z UAC , czy mógłbyś go tymczasowo wyłączyć? Runas, jak napisałeś, nie pozwala na otwarcie wiersza polecenia z podwyższonym poziomem uprawnień, patrz tutaj . Dałbym NirCmd szansę :-)
simlev
1
Jak łączysz się z kontenerem? PROW? Zdalny PowerShell?
harrymc
1
@harrymc Uruchamianie kontenera w trybie interaktywnym.
Daniel
1
Ponieważ lokalne konto administratora jest kontem bardzo specjalnym, może być wymagane zalogowanie się. Dlaczego nie możesz użyć innego „normalnego” konta administratora?
harrymc

Odpowiedzi:

6

Twój problem wcale nie jest niewystarczający. Zobacz ten artykuł .

Kontrola konta użytkownika nie jest dostępna w Server Core, ponieważ jest to interfejs tylko z wiersza poleceń , nie ma IE ani nie obsługuje aplikacji użytkownika. Ponadto, aby korzystać z UAC w wierszu polecenia, musisz mieć powłokę Explorer, aby móc kliknąć Start, kliknąć prawym przyciskiem myszy Wiersz polecenia i wybrać Uruchom jako administrator, co oczywiście nie jest możliwe w Server Core.

Używasz już poleceń jako administrator, w przeciwnym razie polecenia takie jak

net user administrator Pa$$w0rd

nieuchronnie się nie powiedzie.

Twój problem to coś innego.

Zobacz tutaj . System Windows Server Core nie jest obsługiwany w przypadku instalacji WDK. Informacje na temat ustawiania zmiennych środowiskowych w Server Core znajdziesz w tej odpowiedzi .

Powinieneś rzucić okiem na ten skrypt i na to, co faktycznie robi, jeśli używa poleceń SET lub SETX lub czegoś innego i tam możesz znaleźć wskazówkę, dlaczego zmienne nie są ustawione poprawnie. Możliwe, że są ustawione na stałe, ale nie w twoim bieżącym oknie.

Vojtěch Dohnal
źródło
2
setPolecenia zastąpiłem setxpróbą debugowania innych problemów. To doprowadziło mnie do próby uzyskania prawdziwych uprawnień administratora.
Daniel