Windowsコンテナー内で管理者としてスクリプトを実行する方法


14

windowsservercoreに基づくDockerイメージにWindows Enterprise WDKをインストールしようとしています。アプリケーションは解凍することでインストールされ、私はすでにそれを行っており、そのイメージをDockerにコミットしています。次に、環境変数を設定するスクリプトを実行する必要があります。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
これを解決できましたか?
フォンズ

1
UACに問題がある可能性がありますが、一時的に無効にできますか?あなたが書いたRunasでは、昇格したコマンドプロンプトを開くことはできません。こちらを参照してください。NirCmdを試してみよう:
simlev

1
コンテナにどのように接続していますか?RDP?リモートPowerShell?
-harrymc

1
@harrymcインタラクティブモードでコンテナを実行します。
ダニエル

1
ローカル管理者アカウントは非常に特別なアカウントであるため、ログインが必要になる場合があります。別の「通常の」管理者アカウントを使用できないのはなぜですか?
-harrymc

回答:


6

あなたの問題は、十分な権利ではありません。こちらの記事をご覧ください。

UACはコマンドラインのみのインターフェイスであり、IEまたはユーザーアプリケーションのサポートがないため、Server Coreでは使用できません。さらに、コマンドプロンプトでUACを使用するには、エクスプローラーシェルを使用して、[スタート]をクリックし、[コマンドプロンプト]を右クリックして、[管理者として実行]を選択する必要があります。

管理者として既にコマンドを実行しています。

net user administrator Pa$$w0rd

必然的に失敗します。

あなたの問題は何か他のものです。

こちらをご覧ください。Windows Server Coreは、WDKのインストールではサポートされていません。Server Coreでの環境変数の設定については、この回答を参照してください。

SETまたはSETXコマンドなどを使用している場合は、そのスクリプトと実際の動作を確認してください。変数が適切に設定されていない理由がわかります。これらは永続的に設定されているが、現在のウィンドウには設定されていない可能性があります。


2
私はsetコマンドをsetx他の問題をデバッグしようとして置き換えました。それが本当の管理者権限を取得しようとする道を私に導いたものです。
ダニエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.