web-dev-qa-db-ja.com

管理者タスクを実行するとvncコントロールが失われる

私はリモートアクセスにVNCを使用しており、Windows10搭載の小型コンピューターをテストしています。

管理者権限を必要とするアプリケーションを実行すると、すべてが正常に機能します。

Cmd.exeを実行すると、問題ありません。しかし、管理者権限でcmd.exeを実行すると、問題が発生します。

そして、小さな青と黄色のシールド(regedit、イベントビューアー、ビジュアルスタジオインストーラーなど)を使用してexeを実行すると、これは同じ問題です。

ディスプレイは更新されたままですが、マウスとキーボードがリモートコンピュータに影響を与えません。そして、ローカルマウスでcmd.exe(またはその他の問題のあるソフトウェア)を閉じると、リモートマウスとリモートキーボードが再び魔法のように機能します。

別のサーバー(TightVNCおよびTigerVNC)と別のクライアント(画面共有、RealVNCおよびTigerVNC)を試してみました。私のビューアは実行中のOSXです。

RDPには問題ありません。私が管理します。

私はそれがバグだとは思わない、それはあまりにも具体的で再現可能です。たぶん、Windows 10のパラメータですか?

4
hurikan

VNCサーバーがユーザーモードで実行されているようで、ログオンしているユーザーと同じ(昇格されていない)コンテキストで実行されている他のプロセスとのみ対話できます。その結果、VNCは管理者権限を必要とするプログラムと対話できません。これには、ユーザーアカウント制御が昇格されたプロセスを開始する許可を求めるときに表示されるSecure Desktopが含まれます。

これを解決するには、昇格したプロセスとして実行するようにVNCサーバーを構成します。これは、設定でサービスとして実行または同様のものとして説明される場合があります。

VNCホストコンピューターでUACを無効にして、管理者権限を持つアカウントでログオンすることもできますが、これは安全ではない回避策であり、絶対に回避する必要があります。

私は何時間も成功せずに解決策を探していて、ここに投稿した直後に解決策を見つけました。

解決策は簡単です。VNCサーバーを管理者として実行(左クリック)するか、サーバーをサービスとして登録する必要があります(これはTightVNCインストーラーによって提案されたオプションです)。

TightVNCサーバーでテストおよび承認済み。

0
hurikan