2016-08-06 12 views
0

私は、マシンAからマシンBのC $共有にいくつかのファイルをコピーする必要がある私のアプリケーションのためのプログラムに取り組んでいます。これは、同じワークグループ内のマシンに固有のものです。私はいくつかの良い研究を行い、マシンBのレジストリにリモートからアクセスし、 "LocalAccountTokenFilterPolicy"を1に設定すると、C $共有にアクセスできることがわかりました。しかし、以下のコードスニペットでレジストリを開くと、アクセス拒否例外が発生します。私は管理者アカウントの詳細とマシン名があれば、C $共有にアクセスする方法は他にもあります編集レジストリはワークグループでは実際には使用できません。

コードスニペット:

var key = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "XXXX"); 
Console.WriteLine("Before OpenSubKey"); 
var key2 = key.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy"); 
+0

最も実用的な解決策は、各マシンに移動する(または、有効になっている場合はリモートデスクトップを使用する)、手動でレジストリ設定を変更することです。原則としてそれを自動化することは可能かもしれませんが、それは価値があるよりもはるかに大きな問題になるでしょう。あなたは一度だけそれをしなければならない。 –

答えて

0

使用の偽装。リモートマシンへのアクセス権がない場合は、ローカルユーザーとしてリモートマシンにアクセスすることはできません。アプリケーションを正常に起動すると、ローカルユーザーとして実行され、ローカルの信用状でリモートマシンに照会しようとします。そのような単純な。

多くの情報と良い例here

+0

ソリューションをありがとう、しかし私はすでに偽装を含んでいて、うまくいかなかった。マシンはワークグループ内にあり、UACはデフォルトで有効になっているので、私はレジストリに幸運を祈ることはありません。 – NerdforLife

+0

[ここ](http://stackoverflow.com/questions/1566547/how-to-read-remote-registry-keys)を見たいと思うかもしれません - [etoisarobot]の二番目の答えで(http://stackoverflow.com/ユーザー/ 97736/etoisarobot)。彼は権限を変更せずにWMIを使ってそのことを管理します。 –

関連する問題