問題タブ [process-elevation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - プログラムでプロセス特権を引き上げますか?
InstallUtil.exeを使用してサービスをインストールしようとしていますが、を介して呼び出されますProcess.Start
。コードは次のとおりです。
ここm_strInstallUtil
で、は「InstallUtil.exe」への完全修飾パスとexeであり、strExePath
は私のサービスへの完全修飾パス/名前です。
管理者特権のコマンドプロンプトからコマンドライン構文を実行すると機能します。私のアプリから実行すると(上記のコードを使用して)、実行されません。プロセスの昇格の問題を扱っていると思いますが、プロセスを昇格した状態で実行するにはどうすればよいですか?これを調べる必要がありますShellExecute
か?
これはすべてWindowsVista上にあります。管理者権限に昇格したVS2008デバッガーでプロセスを実行しています。
設定もしてみstartInfo.Verb = "runas";
ましたが、うまくいかなかったようです。
delphi - 新しくコンパイルされたアプリケーションにはUAC/高度が必要ですか?
私はシステムを持っており、UACを使用して通常どおりにセットアップし、delphi環境で、ka.exeという名前のプロジェクトをコンパイルし、そのためのinstallshieldプロジェクトを作成します。
セットアップとすべてが正常に完了します!しかし、プログラムを開始するときはいつでも、昇格が必要であり、その理由はわかりません。
installshieldが私にマインドゲームをプレイしていないことを確認するために、新しい.exeをコンパイルし、ネットワークに接続されたコンピューターに手動でコピーしました。
アイコンは同じように見え、このUACシールドも付いています。
私のプロジェクトには、ネットワーク共有名と通信したり、SQLデータベースと通信したりする可能性のあるいくつかの関数が含まれています...
では、なぜ私のアプリを実行するために標高が必要なのですか?
windows-server-2008 - Process.Start と UAC を使用した .NET での偽装
Process.Start (System.Diagnostics) メソッドの偽装オプションを使用して、昇格を必要とする別の .NET プログラムからプログラムを実行しようとしています。偽装するユーザーはローカル管理者です。O/S は 2008 で、UAC はオンになっています。プロセスの開始を呼び出すたびに、Win32 アクセス許可エラーが発生します。
「要求された操作には昇格が必要です」
c++ - C++でプロセスの優先順位を設定する方法
私はデータをソートするプログラムに取り組んでおり、プロセスを優先度31に設定する必要があります。これは、Windowsで最も高いプロセス優先度であると思います。私はいくつかの調査を行いましたが、C++でそれを行う方法を理解できません。
c# - 管理者権限を必要とするプロセスのループを実行する
プログラムでいくつかのプロセスを1つずつ開始するループを実行するアプリケーションがあります。私のアプリ自体は標準ユーザーで実行されますが、インストールできるように、管理者としてこれらのプロセスのみを実行する必要があります。
これを達成するために、私はこのスレッドからの4番目の応答を使用します
私の2つの質問は次のとおりです。
上記の応答で示されているコードは、プロセスが管理者として自動的に実行されるようにするためのものですか、それともユーザーが管理者として実行するかどうかを選択するダイアログが表示されるようにするためのものですか?私はこのコードが何をすることになっているのか混乱しています。
また、ダイアログがユーザーに提供されることになっている場合、アプリをどのようにコーディングすれば、動詞「runas」で開始される次のプロセスのループで最初のユーザーオプションが記憶されるようになりますか?したがって、基本的には、他のプロセスのユーザーオプション(管理者として実行するかどうかに関係なく)をどこかに保存します。
前もって感謝します
c# - winformアプリのメソッドで昇格要求が機能しない
他のアプリをループでインストールする winforms アプリがあります。これは Windows 7 の管理者アカウントでは適切に機能しますが、標準アカウントでは深刻な問題があります。"Program Files(x86)" フォルダーに書き込むには、アプリで昇格が必要です。
したがって、次のコードを使用して、winforms c# アプリで特定のメソッド (インストーラーを実行するメソッド) の昇格を要求しようとしています。
エラーを受け取った後、上記の属性を持つメソッドを呼び出す前に、次のように記述する必要があることを Web から学びました。
私はこれを行いましたが、メソッドはまだ次のエラーをスローします:
プリンシパル許可の要求に失敗しました。
段階的なデバッグは SetPrincipalPolicy 行を渡しますが、Demand 属性を持つメソッドに到達すると、SetPrincipalPolicy が存在しなかったかのように、同じエラーをスローします。
Demand 属性を適切に設定するのに何か問題がありますか?
前もって感謝します。
LATER EDIT:ここで要求されているのは、アプリをサイレントインストールするときに昇格要求をトリガーするはずのコードです(ただし、機能しません):
私が必要としているのは、アプリが Windows 標準ユーザーで実行された場合、そのプロセスが管理者のユーザー名とパスワードを求めるダイアログを表示することです。上記のプログラムで開始されたプロセスのみを管理者として実行する必要があり、メイン アプリ自体は標準ユーザーのままにすることができます。
c# - プロセスが昇格された場合、昇格されていないセッションのWindows認証IDを取得するにはどうすればよいですか?
昇格しているかどうかに関係なく、ステーションにログインしたユーザーのTokenStatisticsクラスを使用してGetTokenInformationによって返されるAuthenticationIDを取得する必要があります。
Lemmeはあなたにもう少し情報を与えます。私がすることを仮定します:
これにより、TokenInformation構造からAuthenticationIDを問題なく取得できるようになります。結果のauthenticationIDが「00000000-00001234」であるとしましょう
ここで、Visual Studioを右クリックして[管理者として実行]をクリックし、コードをもう一度起動すると、結果は「00000000-00001289」などの別の結果になります。しかし、私は「00000000-00001234」が必要です
現在のプロセスが昇格されているかどうかに関係なく、「00000000-00001234」を取得するにはどうすればよいですか?
GetTokenInformationに与える適切なトークンを見つけるだけの問題だと思いますが、私はここで輪になって走っています...
注:コードは、C#でログオンSIDを取得してGetTokenInformationを実装する方法に基づいており、TokenStatisticsを取得できるように調整しました。
batch-file - 昇格したスクリプトから制限付きユーザーとしてプロセスを開始する
昇格したコンソールでいくつかのバット ファイルを実行しています。このコンソールを昇格モードで実行することは、許可を求めずにネットワーク共有の管理などのタスクを実行できるようにするために必須です。ただし、スクリプトは、管理者特権での実行が望ましくないアプリケーションを起動する必要がある場合もあります。そのため、上昇したコウモリが非上昇モードでアプリケーションを開始するようにします。Windowsでこれを行う組み込みの方法はありますか? プロセスは、日付までの DOS コマンド START で開始されました。
ちなみにマシンはWindows 7 Ultimate Edition x64です。
この問題はすでに多くの質問でプログラム的に議論されていることを知っています (これはそれらの多くを集めています) が、私たちの要件は、cmd で実行されるバット スクリプトと、nircmd、7z などのタスクに役立つ可能性のあるスタンドアロンの実行可能ファイルです。
明確化:コンソールを昇格して起動するスケジュールされたタスクが既にあり、コンソールの昇格はこの回答の問題ではありません。