2010-08-04 13:49:40 +0000 2010-08-04 13:49:40 +0000
128
128

プログラムを強制的に*管理者権限やUACなしで実行させる?

通常は(UAC経由で)管理者権限を必要とするプログラムを強制的に管理者権限なしで実行させる方法はありますか?(例: UACプロンプトを使わず、システム全体にアクセスできない*)

追記: 実行ファイルを変更せずに実行できます。実行ファイルを変更することで、マニフェストからtrustInfoエントリを削除することができます(またはマニフェスト全体を削除することができるので、外部のマニフェストを使用することができます)ので、UACなしでプログラムを起動することができます。残念ながら、これは実行ファイルを変更するので、内部チェックサムテストのためにすぐに終了します。プロセスエクスプローラを使用することで、制限付きユーザとして起動することができます。しかし、これは私が望むよりもかなり多くの制限をしているようです(これは保護モードのIEのように実行されるので、私の標準的な非昇格ユーザができることよりもかなり少ないアクセスしかできません)。

回答 (9)

76
76
76
2012-07-18 15:20:44 +0000
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
@="Run without privilege elevation"

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

このテキストを<name_of_file>.regに保存して、Windowsのレジストリに追加します。(ダブルクリックするとうまくいくはずです)

その後、管理者権限なしで実行したいアプリを右クリックして「権限昇格なしで実行」を選択してください。

場合によっては-少量の0.1%のプログラムではUACプロンプトを二重に要求されることがあります。

57
57
57
2015-10-02 11:27:02 +0000

nonadmin.batに保存:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

これで、管理者なしでプログラムをドラッグ&ドロップして実行できるようになりました。また、コンテキストメニューを乱雑にしません。

Vomさんの 回答


更新:名前にスペースがあるプログラムでも動作するようになりました。

35
35
35
2012-01-05 08:15:03 +0000

私はパーティーに遅すぎないことを願っていますが、私は似たような質問を探していて、ここで答えを見ることなく、私はWindowsの組み込みのRunAscommandは、管理者として実行された場合、/trustlevelスイッチでそれを行うことができることを発見しました。皮肉なことに、昇格せずに明示的にプログラムを起動すると、**昇格したコマンドプロンプトが必要になります。図にしてみましょう。) 私はそれがあなたを助けることを願っています。

19
19
19
2016-09-09 20:16:13 +0000

あなたが常にUACなしで実行したい特定のアプリケーションを持っている場合は、レジストリでそれをターゲットにすることができます(テキストをREGファイルに追加し、レジストリにインポート):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\example\application.exe"="RunAsInvoker"

この答えとは異なります、このソリューションは、代替クリックやユーザーの相互作用への変更を必要としません。

マイクロソフトは、RunAsInvoker [互換性シム](https://technet.microsoft.com/en-us/library/dd837644(v=ws.10).aspx)を追加して、このプロセスを呼び出します。

4
4
4
2019-01-25 11:54:23 +0000

Jeśli jest to plik setup (instalacja) exe, który wymaga uprawnień administracyjnych, istnieje sztuczka, aby uruchomić go bez podwyższonego dostępu:

Jeśli nazwa pliku zawiera słowa takie jak setup lub install windows siłą uruchamia go z podwyższonym dostępem, nawet jeśli nie wymaga podwyższonego dostępu:

Jeżeli . plik exe ma w sobie manifest, te heurystyki dla elevation nie mają zastosowania.

Na przykład, jeśli manifest wskazuje, że exe nie potrzebuje elevation, nawet włączenie któregokolwiek z tych słów do nazwy pliku nie spowoduje, że będzie on uruchamiany jako elevated.

Innym słowem kluczowym jest patch, jak podano w komentarzu przez Mgamerz .

Detekcja instalatora wykrywa pliki konfiguracyjne, co pomaga zapobiec uruchamianiu instalacji bez wiedzy i zgody użytkownika.

Detekcja instalatora dotyczy tylko:

  • 32-bitowych plików wykonywalnych.

  • Aplikacje bez wymaganego atrybutu poziomu wykonania.

  • Procesy interaktywne uruchamiane jako standardowy użytkownik z włączoną funkcją UAC.

Przed utworzeniem 32-bitowego procesu sprawdzane są następujące atrybuty w celu określenia, czy jest to program instalacyjny:

  • Nazwa pliku zawiera słowa kluczowe, takie jak “install”, “setup” lub “update”.

Tryb odczytu tutaj: https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works

3
3
3
2011-05-18 01:05:06 +0000

私は、MSアプリケーションのカスタマイズツールキットを使用して、今日この問題を解決しました。

私は指示に従った技術的な共和国の記事で.

基本的に:

1)あなたは、MSからツールキットを取得しますここで .

2)[修正]

3)RunAsInvokerオプションを選択します。

2
2
2
2013-07-21 02:56:41 +0000

Andrewは質問の中で次のことがうまくいかなかったと述べています:

実行ファイルを変更することで、マニフェストからtrustInfoエントリを削除することができます(またはマニフェスト全体を削除することができるので、外部のマニフェストを使用することができます)。残念ながら、これは実行ファイルを変更するので、内部チェックサムテストのためにまもなく終了します。

私は、私が使用していたソフトウェアのための外部の.manifestファイルを変更し、

<ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

<ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" />

に変更することができました。ありがとうございました!

-2
-2
-2
2012-04-20 04:28:43 +0000

私は、プログラムが含まれているフォルダのパーミッションを変更することによって、この問題を修正しました。

私は、そのプログラムを実行する各ユーザーを追加し、それらに “フルコントロール "権限を与えました。それは問題の世話をして、私は "管理者として実行 "をチェックを外したままにしておきました。

-5
-5
-5
2010-08-04 14:09:46 +0000

いいえ、プログラムがUACを必要とする場合、それはそのサンドボックスの外の何かにアクセスしようとしています。

通知を消したいだけなら、UAC を無効にすることができます。スタート、「ユーザー」と入力します。ユーザーアカウント」をクリックします。ポップアップされたウィンドウで、「ユーザーアカウント制御の設定」をクリックしてから、UACをオフにします。

Windows 7でUACを無効にする:スタート、「ユーザー」と入力します。ユーザーアカウント制御設定」をクリックします。選択バーをすべて下までドラッグして “通知しない "にします。