8

プログラムでネットワーク ドライブをマップするアプリケーションがあります。UAC をオンにした Vista では、奇妙な問題が発生します。

私たちのアプリケーションは昇格されていないドライブをマップするため、ユーザーがエクスプローラーを参照し、ダブルクリックして exe を実行すると、UAC のプロンプトが表示されます。彼らがそれを承認すると、共有のユーザー名/パスワードの入力を求められます...資格情報が保存されているので奇妙です。

昇格されたプロセスは、昇格されていないプロセスからマップされたマップされたドライブにアクセスできないことが判明しました。

この問題を実際に確認するには、次の手順を実行します。

  • UAC なしで cmd.exe を実行する
  • 「net use w: \yourHostname\yourShare /user:yourUser yourPassword /persistent:yes」を実行します
  • 管理者として cmd.exe を実行します
  • 「w:」と入力し、エラー メッセージを確認します。

この時点で、単純な「net use」を実行すると、昇格されたコマンドの接続が使用不可であることがわかりますが、昇格されていない他のコマンドはそれを OK と見なします。

この問題を解決するための回避策を知っている人はいますか? または、ネットワークドライブを「すべてのユーザー」にマップする方法はありますか?

4

2 に答える 2

2

これは仕様によるものです。

ユーザーアカウントは同じですが、管理者グループのメンバーシップと追加権限を持つトークンを持つ昇格バージョンでは、トークンは独立して作成されるため、異なるLUIDを持ち、カーネルには異なるユーザーログオンからのものであるように見えます。それらは異なるログオンからのものであるため、マップされたドライブはそれらの間で共有されません。

http://blogs.msdn.com/cjacks/archive/2007/02/19/mapped-network-drives-with-uac-on-windows-vista.aspxで、これについてさらに詳しく説明しています。

于 2009-08-12T16:30:42.953 に答える
2

このリンクをチェックしてください: Regedit リンク

これらは、昇格されたユーザーがマップされたドライブにアクセスできるようにするレジストリ キーを記述し、その逆も同様です。これは私のすべての問題を解決し、まさに私が探していたものでした.

編集:

元のリンクは無効になっていますが、 www.archive.orgの 2009 年 1 月 24 日のスナップショットからコピーしたテキストを次に示します。


管理者トークンからマップされたドライブにアクセスできない場合は、次のことを試してください。保護された管理者として実行している場合、2 つのトークンがあり、このキーは両方のトークンの接続を維持します (とにかく、それは私の理解です)。また、ログイン スクリプトの問題を解決するのにも役立ちます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System EnableLinkedConnections =(dword)1

また、このドキュメントの「ユーザー アカウント制御が原因でグループ ポリシー スクリプトが失敗する可能性がある」セクションも役立ちます。

http://technet2.microsoft.com/WindowsVista/en/library/5ae8da2a-878e-48db-a3c1-4be6ac7cf7631033.mspx?mfr=true

これについては、近日中に詳細を掲載する予定です。

于 2009-08-13T13:40:58.797 に答える