問題タブ [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.
.net - Vista (.NET) で昇格せずに実行する方法
管理者として実行する必要があるアプリケーションがあります。
そのアプリケーションの小さな部分の 1 つは、Process.Start で他のアプリケーションを開始することです。
開始されたアプリケーションも管理者として実行されますが、「通常の」ユーザーとして実行されることを望みます。
どうすればそれを達成できますか?
/ヨハン/
windows-vista - WindowsでのSSPI(NTLM)Apiの使用UACを使用したVistaでのAccessCheck()
概要クライアント(Windows XP SP3)サーバー(Windows Vista Business SP1)/LocalSystemサービスとして実行
Apiシーケンスクライアント-AcquireCredentialsHandleクライアント-Initializesecuritycontextサーバー-Acquirecredentialshandleサーバー-AcceptSecurityContextクライアント/サーバー-CompleteAuthnTokenサーバー-ImpersonateSecurityContextサーバー-AccessCheckAndAuditAlarm(MAXIMUM_allowed)サーバー-次に、要求されたアクセスと許可されたアクセスを比較します。
createprivateobjectsecurityexで作成されたプライベートセキュリティオブジェクトに対してアクセスチェックを呼び出します。Uacをオンにすると、アクセスチェックから成功を取り戻すことができますが、どの特権も保持されません。uacをオフにすると、GantedAccessパラメーターのすべての権限で成功を取り戻すことができます
詳細アプリケーションには、クライアントとサーバーの2つのコンポーネントがあります。tcpを使用して、セキュリティで保護されていないネットワークを介して通信します。着信接続を認証するために、上記のsspi apiを使用し、呼び出し元のユーザーになりすます。呼び出し元のユーザーが偽装されたら、Accesscheckとauditalarmを使用します。これが失敗した場合は、accesscheckだけに戻ります。UACをオンにすると、accesscheckとauditalarmから成功を取り戻すことができますが、grandedaccessパラメーターにアクセス権はありませんが、uacをオフにすると、期待どおりに機能します。サーバープロセスの整合性レベルを確認し、高に設定しました。呼び出し元ユーザーの偽装に使用される偽装トークンの整合性レベルを確認し、中に設定しました。呼び出し元ユーザーの整合性レベルを高く設定してみましたが、成功しましたが、アクセスチェックは依然として誤った結果を返します。リンクされたトークンがあるかもしれないと思って、GetTOkenInformation(TokenLInkedToken)を呼び出してリンクされたトークンを試しましたが、結果は0x520でした。次に何をしようか考えていただければ幸いです。
認証後のコード。
c# - コンソールアプリケーションに対するUACの必要性
管理者レベルを必要とするコードを使用する必要があるコンソールアプリケーションがあります。次のようなマニフェストファイルmyprogram.exe.manifestを追加する必要があることを読みました。
ただし、それでもUACは発生しません(コンソールまたはVSでのデバッグ中)。この問題を解決するにはどうすればよいですか?
アップデート
管理者でソリューションを実行するか、管理者で/bin/*.exeを実行すると、それを機能させることができます。明示的に右クリック>[管理者として実行]ではなく、アプリケーションの起動時にポップアップするものを表示できるかどうかまだ疑問です。
windows-vista - Vbscriptは、UACが上昇したかどうかを検出します
vbscriptは、UACの昇格されたコンテキストで実行されているかどうかをどのように検出できますか?
ユーザーを検出し、ユーザーがAdministratorsグループ内にあるかどうかを確認するのに問題はありません。ただし、VistaまたはWindows 2008で実行している場合、プロセスの特権が昇格されているかどうかという質問にはまだ答えられません。このステータスを検出するだけでよいことに注意してください。上昇または(エラー..)下降を試みないでください。
windows-vista - UAC の昇格時にマップされたドライブ文字情報を保持する
実行元のパス (常にネットワーク パス) を知る必要があるアプリケーションがあります。
アプリケーションの起動元のパスに基づいて構成の一部をセットアップしますが、その構成では、リソースへの UNC パスではなく、マップされたネットワーク ドライブ パスを使用する必要があります。
私たちが見つけたのは、UAC 昇格なしでアプリケーションを起動すると、アプリケーションが起動したディレクトリを取得できることです。
しかし、昇格して起動すると (実際にはこれを行う必要があります)、返されたバッファーは、ドライブ文字ベースのパスではなく、UNC ベースのパスを提供します。
マップされたドライブ文字のフォルダー ツリーに移動して、常に Windows エクスプローラーから起動することに注意してください。
管理者特権で実行されているプロセスからEXEのドライブ文字ベースのパスを取得する方法について、誰か提案はありますか?
c# - 時々管理者として実行
ほとんどの場合、通常のユーザーとして実行する必要があるプログラムがありますが、サービスを停止して開始する必要がある場合があります。ほとんどの場合通常のユーザーとして実行されるが、一部の機能のために管理者モードに昇格するプログラムを作成するにはどうすればよいですか?
windows-vista - Windows Vista では、任意のアカウントを使用してどこにデータを書き込み、他のすべてのアカウントから表示できるようにすることができますか?
いくつかの登録データ (一意のコンピューター番号と対応するアクティベーション コード) を書き込む必要があります。
コンピューター番号は、他のプログラムとすべてのアカウント (ユーザー アクセス制御が {On|Off} になっている {Admin|Non Admin})から見えるようにする必要があります。
コンピューター番号とアクティベーション コードは、管理者アカウントからのみ書き込むことができますが、他のアカウントから読み取り可能である必要があります。
現在 (さらにテストする必要があります)、CN とアクティベーション コードが UAC をオフにして書き込まれている場合、ユーザーが UAC をオンにすると、コンピューター番号が表示されないようです。
tortoisesvn - TortoiseSvn と Windows Server 2008 のユーザー アカウント制御
ここで質問があります:
TortoiseSvn は、ユーザー アカウント制御をオフにせずに Windows 2008 で動作しますか?
ストーリーは次のとおりです。テスト サーバーを Windows 2008 に移動したばかりで、TortoiseSvn に問題があります。管理者としてログオンしていますが、Subversion リポジトリから一部のコードを更新しようとすると、次のようなメッセージが表示 されます。は拒否された ので、そのようなメッセージを見て、クリーンアップを実行することを知っています。しかし、クリーンアップを実行すると、「クリーンアップ は次のパスを処理できませんでした: C:\dev\trunk 」と表示されます。
そのため、さらに調査すると、権限の問題があることがわかりました。コマンド プロンプトからsvn statusを実行すると、ディレクトリがロックされており、カメのクリーンアップと同じようにsvn cleanupの実行が失敗することがわかります。しかし、管理者としてコマンド プロンプトを起動すると、問題なくsvn cleanupを実行でき、 svn upを実行してファイルを更新できます。
更新: これは Windows UAC 権限の問題です。UAC をオフにすると問題が解決します。しかし、UAC をオフにする必要のない解決策を見つけたいと思います。Tortoise は Windows シェル拡張であるため、管理者として実行する方法がわかりません。
助言がありますか?
uac - 特権を必要としない場合でも、アプリケーションは UAC の下で動作しません
UAC を有効にして開発したアプリケーションを長い間実行するのに深刻な問題がありました。
インストールすると (インストーラーは UAC でほとんどすぐに失敗します)、UAC をオンにしてアプリケーションを動作させることができるように見えます。ただし、しばらくすると、作成したばかりのファイルが見つからないという奇妙なエラーで動作しなくなります。
これをまっすぐにするために:
このソフトウェアには、どこにも権限チェックが含まれていません。ドキュメントを正しく理解していれば、制限付きユーザーとして機能するものはすべて UAC で機能するはずです。しかし、そうではないことが証明されています。
編集: 最初に表示されたよりもはるかに難しい問題を尋ねたことをお詫びしなければなりません。実際、フォルダーの仮想化で少なくとも 1 つのバグを発見しており、他にもバグがあると考えています。この時点で、それを実行するための唯一の合理的な希望は、制限されたユーザーとして実行できる API 呼び出しを見つけて、呼び出しプロセスとそれが (再帰的に) 生成するプロセスのフォルダー仮想化を無効にすることです。マニフェストを追加できない理由は、ソフトウェアが実際にはマシンごとに異なる可能性があるサードパーティ ソフトウェアを呼び出すためです。
c# - 昇格された管理者アカウントとして実行する必要があるように、MSI をマークします。
MSI の一部として CustomAction があります。
ローカル管理者アカウントのメンバーでもあるドメイン アカウントとして実行する必要があります。
ネットワーク リソースにアクセスできないため、NoImpersonate フラグを使用してカスタム アクションを NT Authority\System として実行することはできません。
Vista/2008 で UAC が有効になっている場合、NoImpersonate がオフの場合、実行ユーザーとして実行されますが、権限のないトークンが使用され、.installState などのローカル リソースにアクセスできません。UAC アーキテクチャを参照してください
どちらかの方法を知っている人
昇格したコマンド プロンプトから実行するのと同じ方法で、昇格したトークンを使用して MSI を強制的に実行しますか?
CustomAction を強制的に管理者特権で実行しますか (マニフェストの requireAdministrator が機能していないように見えます)?
UAC が有効になっているかどうか、およびそれが昇格されていないかどうかを確認し、そうであればインストールを警告またはキャンセルしますか?