2016-08-06 5 views
0

Я работаю над программой для своего приложения, которая должна копировать некоторые файлы с компьютера A на C $ share в машине B. Это зависит от машин в одной рабочей группе. Я сделал несколько хороших исследований и обнаружил, что если я получаю доступ к реестру Machine B удаленно и устанавливаю «LocalAccountTokenFilterPolicy» в 1, то я могу получить доступ к C $ share. Но нижеприведенный фрагмент кода, чтобы открыть реестр, дает мне доступ к исключенному исключению. Мне интересно знать, есть ли какой-либо другой подход к доступу к C $ share, если у меня есть данные учетной записи администратора и машинное имя машины. BI выяснил, что реестр редактирования на самом деле не возможен в рабочей группе.

фрагмент кода:

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

Наиболее практичным решением было бы перейти к каждой из машин (или использовать Remote Desktop, если это разрешено) и вручную изменить настройки реестра. В принципе можно было бы автоматизировать это, но почти наверняка будет гораздо больше проблем, чем того стоит. (Вы должны сделать это только один раз.) –

ответ

0

Использование олицетворения. Вы не можете получить доступ к удаленной машине в качестве локального пользователя, если у вас нет разрешений на удаленном компьютере. Если вы запускаете приложение нормально, оно будет выполняться как локальный пользователь и будет пытаться запросить удаленную машину с локальными кредитоспособностями. Просто как тот.

Много информации и хороших примеров here.

+0

Спасибо за решение, но я уже включил олицетворение, и это не сработало. Так как машины находятся в рабочей группе, а UAC включен по умолчанию, поэтому мне не очень повезло с реестром. – NerdforLife

+0

Можете посмотреть [здесь] (http://stackoverflow.com/questions/1566547/how-to-read-remote-registry-keys) - во втором ответе [etoisarobot] (http://stackoverflow.com/ пользователи/97736/etoisarobot). Ему удается это сделать через WMI без изменения прав доступа. –