問題タブ [uac]
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# - パスが保護されている場合、Windows Vista UACの昇格を要求しますか?
私のC#アプリでは、アプリケーションの起動時に常に昇格を要求する必要はありませんが、UACで保護されている出力パスを選択した場合は、昇格を要求する必要があります。
では、パスがUACで保護されているかどうかを確認し、実行中に昇格を要求するにはどうすればよいですか?
windows - Windows Vistaで管理者としてショートカットを実行しているときに、別のディレクトリでショートカットを開始するにはどうすればよいですか?
デスクトップにショートカットがあり、必要な多くの引数を含むコマンドプロンプトが開きます。'start in'フィールドをd:\に設定すると、期待どおりに機能します(プロンプトはd :で始まります)。[詳細設定]->[管理者として実行]を選択してショートカットを開くと、[開始]フィールドを変更していなくても、C:\ Windows\System32で起動します。どうすればd:\で開始できますか?
.net - Vista UAC、アクセス昇格、.Net
アプリケーション内の特定の機能を昇格させる方法があるかどうかを調べようとしています。たとえば、システム設定とユーザー設定がレジストリに保存されているアプリがあり、システム設定を変更する必要がある場合にのみ昇格が必要です。
残念ながら、私が遭遇したすべての情報は、昇格された特権で新しいプロセスを開始することだけについて語っています。
windows-vista - Vista UACが有効になっているかどうかを検出するにはどうすればよいですか?
Vista UACが有効になっているかどうかによって、アプリケーションの動作が異なる必要があります。アプリケーションは、ユーザーのコンピューター上のUACの状態をどのように検出できますか?
windows-7 - プロセスが UAC 昇格で実行されているかどうかを検出するにはどうすればよいですか?
私の Vista アプリケーションは、ユーザーが「管理者として」(昇格された) または標準ユーザーとして (昇格されていない) 起動したかどうかを知る必要があります。実行時にそれを検出するにはどうすればよいですか?
asp.net - UACがオンになっているVistaでw3wpに接続できない
私は、ASP.NET開発を行う作業マシンでVista(business x32)を実行しています。構築したサイトのサーバーにIISを使用しているため(多くのCMS統合を行っているため、組み込みのWeb開発サーバーではなくIISを使用する必要があります)、デバッグのために常にw3wpに接続する必要があります。
問題は、v3wpがVS 2008からのプロセスに接続するために昇格された権限を必要とすることです。しかし、VSを再起動して「管理者として実行」しようとすると、「このプログラムはブロックされました」「管理者が設定しましたこのプログラムをブロックするポリシー」
この問題が発生するのは、ドメインアカウント(ローカル管理者グループにある)でマシンにログインしている場合のみです。ローカル管理者を使用している場合は問題ありません。
この問題を抱えているのは私だけです。Vistaを使用している他のすべての人は、ドラマなしで管理者としてVSを開くことができます。
これを回避するには、UACをオフにする必要がありますが、(再起動するたびに)常にオンに戻るため、これは非常に苛立たしいことです。
「安全」リストにプログラムを追加する方法もわかりませんでした。
c# - .NET を使用して COM コンポーネントを UAC 昇格させる方法
を呼び出して C++ で記述された COM オブジェクトを昇格させる方法
に関する記事を見つけましたCoCreateInstanceAsAdmin
。しかし、私が見つけたり実行したりできなかったのは、.NET (c#) アプリケーションのコンポーネントを COM オブジェクトとして実装し、そのオブジェクトを呼び出して UAC 昇格が必要なタスクを実行する方法です。MSDN では、これを管理 COM オブジェクト モデルとして文書化しています。
アプリケーション(または別のアプリ)を管理者として起動し、別のプロセスでタスクを実行することが可能であり、非常に簡単であることを認識しています(たとえば、Daniel Moth からの投稿を参照してください。しかし、私が探しているのは方法です昇格されていない同じ .NET 実行可能ファイル内からすべてを実行する. そうすることで、もちろん新しいプロセスで COM オブジェクトが生成されますが、透過的なマーシャリングのおかげで、.NET COM オブジェクトの呼び出し元は (あまりにもかなり)それを認識しています。
API を使用して、C# プロジェクトから C# で記述された COM オブジェクトをインスタンス化する方法についてのアイデアはCoCreateInstanceAsAdmin
非常に役立ちます。そのため、C# で COM オブジェクトを作成する方法を学びたいと思っています。COM オブジェクトは、COM 昇格 API を介して C# から呼び出すことができます。
昇格した COM オブジェクトが同じプロセスで実行されなくてもかまいません。アプリケーション全体を昇格させて起動する必要はありません。コードを実行するCOMオブジェクトを昇格させたいだけです。行に沿って何かを書くことができれば:
次に、メインアプリケーションを呼び出しElevatedClass
を通じてインスタンス化しCoCreateInstanceAsAdmin
ます。でも、もしかしたら夢を見ているだけかもしれません。
windows-vista - 開発するとき、Vista で UAC をオフにしますか?
私は 5 月かそこらまで Vista にアップグレードしませんでしたが、実際に知っている開発者が「最初にすべきことは、UAC のがらくたをオフにすることです」と言うのをいつも聞いていました。
さて、私はいくつかの理由でこの間ずっとそれを残しました. 第一に、私がちょっとした理不尽なことが起きて電子メールの添付ファイルを実行した場合や、パッチが適用されていないエクスプロイトに遭遇したサイトを表示した場合のフェイルセーフとして。第二に、それが実際にどれほど良いか悪いかを確認するための大きな実験として.
最後に、私はそれがいくつかのより良い慣行を強制することを理解しています. 以前はすべての Web サイトを Windows で inetpub\wwwroot に直接開発していました (Visual Studio .NET 2003 では多かれ少なかれこれが必要でした) が、UAC クリックフェストが悪夢であるため、今では別の場所で開発しています。これは、「本当にこのようにするべきだ」というマイクロソフトの言い方だと思います。
別の類推として、XP と 2000 で問題なく動作するが、Server 2003 の 50 の異なるセキュリティ機能を無効にする必要がある Web アプリケーションを作成した場合、実際の解決策は、アプリケーションを修正して無効にしないようにすることかもしれません。セキュリティ機能をオフにする必要はありません。
しかし今、私はinetpub/wwwroot 以外で開発するように設計されていないアプリを使用する必要があるため、UAC は本当に厄介です。これを修正することは、プロジェクトの範囲を超えています。UAC をオンのままにしておきたいのですが、ファイルを変更する必要があるたびに [はい] または [許可] を 3 回クリックする自動操縦についても心配しています。
私は頭が固いだけですか?Vista のほとんどの開発者は、UAC をオンまたはオフのままにしますか? そして、上記の例について、より良い/より簡単な方法はありますか?
python - Pythonスクリプト内からUACの昇格をリクエストしますか?
PythonスクリプトでVistaにファイルをコピーしたい。通常のcmd.exe
ウィンドウから実行すると、エラーは生成されませんが、ファイルはコピーされません。cmd.exe
「管理者として」実行してからスクリプトを実行すると、正常に機能します。
ユーザーアカウント制御(UAC)は通常、多くのファイルシステムアクションを防止するため、これは理にかなっています。
Pythonスクリプト内から、UAC昇格要求を呼び出す方法はありますか(「そのようなアプリには管理者アクセスが必要です、これでよろしいですか?」などのダイアログが表示されます)。
それが不可能な場合、スクリプトが昇格されていないことを少なくとも検出して、正常に失敗する可能性がある方法はありますか?
c++ - 一般的な書き込み可能なアプリケーション ファイルをどこに置くか?
CSIDL_COMMON_APPDATA\company\product
アプリケーションのすべてのユーザーに共通のファイルを配置する場所であり、アプリケーションが変更できると考えましたが、Vista では、インストーラーによって変更されない限り、これは読み取り専用の場所です (MSDN によると - http : //msdn.microsoft.com/en-us/library/ms995853.aspx ) では、何が最適でしょうか? 場所のセキュリティ設定を変更して、CSIDL_COMMON_DOCUMENTS\company\product
代わりに書き込みまたは使用を許可しますか? たぶん、3番目のオプションがありますか?
また、これに関する「公式の」マイクロソフトの推奨事項はありますか?