Windows 8のコマンドラインから管理者として実行する


11

コマンドラインからホストファイルを編集できるように、メモ帳を管理者として実行しようとしています。

私はrunas /user:(myusername)\administrator "notepad c:\windows\system32\drivers\etc\hosts"それから自分のパスワードを入力しようとしました、そして私は得ます

RUNASエラー:実行できません-メモ帳c:\ windows \ system32 \ drivers \ etc \ hosts 1327:アカウントの制限により、このユーザーはサインインできません。例:空白のパスワードは許可されていないため、サインインの時間が制限されています。または、ポリシー制限が適用されました。

PS:私は自分のユーザーアカウントに許可を与えれば、管理者として実行しなくても編集できることを知っています。しかし、hostsファイルのアクセス許可を変更せずにこれを行う方法を知りたいのですが。

回答:


7

[OK]を、その理由これは仕事をしませんが、Windows Vistaおよびそれ以降のセキュリティモデルです。管理者グループのアカウントは、制限付きユーザーとして明示的に昇格されていないすべてのものを実行します。例外はAdministratorアカウントで、これは昇格したすべてを実行します。このため、ログインアカウントとして使用することは一般的に好ましくないと考えられており、通常は無効になっています。

それを有効にして、runasそのアカウントとして呼び出すことができます。これにより、いくつかの問題が発生します。異なるユーザーの環境で実行しているため、異なる環境変数が設定されている可能性があります。1

これを行うためのより良い方法は、UACを介して現在のユーザーとして実際に昇格することです。残念ながら、標準のコマンドプロンプトにはその機能は含まれていませんが、サードパーティのプログラムと組み込みのPowerShellとWSHell(VBScript)の両方で使用できます。


私の他の答えを借りて、次のコマンドで直接PowerShellコマンドを呼び出すことができますpowershell -c

powershell -c start -verb runas notepad C:\Windows\System32\drivers\etc\hosts

これは基本的にPowerShellに以下を実行するように指示します(startはにエイリアスされていますStart-Process):

Start-Process -Verb "runas" notepad C:\Windows\System32\drivers\etc\hosts

ここでの秘訣は、動詞を渡してrunasUACをトリガーすることです。

どちらStart-Process -Verb runasも標準cmdはrunas、現在の作業ディレクトリを渡しますので、常に完全なパスを使用しますが、この方法で昇格任意のコマンドで。

また、などの一部の引数は引数-cと競合する可能性があるStart-Processため、最も安全な方法は次のとおりです。

powershell "-c start -verb runas commandname -argumentlist 'arg1 arg2'"

1注:これはユーザーの環境変数にのみ適用されます。親プロセスで設定した環境変数は、UACによって渡されません。これはにも当てはまりrunas、正しいユーザーの変数が得られないため、状況はさらに悪化します。


二重引用符では、うまくいきませんでした。
Vince

@Ghodmode実行しようとした行の例を教えてください。最後の例を参照している場合は、最初の引用符をの後ろに移動してみてください-c。(そうでは-c "startなく"-c start
ボブ

管理者としてプログラムを実行するために、powershellプロセスを昇格して実行する必要がないことに注意してください。
jiggunjer 2016年

Windows 10 2019-03アップデートの前に動作していたのは奇妙です。
Qwerty、


-1

あなたが試すことができる1つのことは、管理者としてコマンドプロンプトを開き、そこからメモ帳を実行することです。入力するだけですNotepad。そこからそれを行った後、ファイルをクリックして開き、hostsファイルに移動して開きます。最後に、通常の方法で保存できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.