Як запустити сценарій як адміністратор всередині контейнера Windows


14

Я намагаюся встановити Windows Enterprise WDK на зображення Docker на основі windowsservercore . Додаток встановлюється розпакуванням, і я вже це зробив і передав це зображення Докеру. Тепер мені потрібно запустити скрипт, який встановлює змінні середовища. Відповідно до інструкцій із встановлення Enterprise WDK, я повинен запустити цей сценарій як адміністратор. Я робив це безпосередньо на моїй настільній машині, і це працює файл. У контейнері Docker є користувачем для входу за замовчуванням

PS C:\> whoami
user manager\containeradministrator

Я спробував увімкнути обліковий запис адміністратора.

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

Я намагаюся запустити оболонку як адміністратор, але користувач не змінюється.

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

І якщо я запускаю свій скрипт, він не може встановити будь-яке значення середовища, вказане в сценарії.

Пропозиції?


2
Вам вдалося це вирішити?
fons

1
У вас може виникнути проблема з UAC , ви можете тимчасово її відключити? Рунас, як ви це написали, не дозволяє відкрити підвищений командний рядок, дивіться тут . Я б спробував NirCmd :-)
simlev

1
Як ви підключаєтесь до контейнера? RDP? Віддалений панцир?
harrymc

1
@harrymc Запуск контейнера в інтерактивному режимі.
Даніель

1
Оскільки локальний обліковий запис адміністратора - це дуже спеціальний обліковий запис, може знадобитися вхід. Чому ви не можете використовувати інший "звичайний" обліковий запис адміністратора?
harrymc

Відповіді:


6

Ваша проблема - це недостатньо прав. Дивіться цю статтю .

UAC недоступний у серверній ядрі, оскільки це лише інтерфейс командного рядка , не має IE або підтримку програм користувача. Крім того, для використання UAC в командному рядку вам потрібно мати оболонку Explorer, щоб ви могли натиснути кнопку Пуск, клацніть правою кнопкою миші командний рядок і виберіть запуск як адміністратор, що, очевидно, неможливо на сервері Core Core.

Ви вже виконуєте команди як адміністратор, інакше такі команди, як

net user administrator Pa$$w0rd

неминуче провалиться.

Ваша проблема - це щось інше.

Дивіться тут . Windows Server Core не підтримується для встановлення WDK. Про налаштування змінних середовища на сердечному ядрі див. Цю відповідь .

Вам слід поглянути на цей скрипт і що він насправді робить, якщо він використовує команди SET або SETX або щось інше, і там ви можете знайти поняття, чому змінні не встановлені належним чином. Можливо, вони встановлені постійно, але не у вашому поточному вікні.


2
Я замінив setкоманди, setxнамагаючись налагодити інші проблеми. Ось що й призвело мене до шляху спроб отримати реальну привілей адміністратора.
Даніель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.