Есть windows service, написанный на C#, в нём есть форма. Чтобы форма отображалась, в свойствах этого сервиса стоит: Bxoд в cиcтeму: с cиcтeмнoй учeтнoй зaпиcью, Paзpeшить взaимoдeйcтвиe c paбoчим cтoлoм.
При вызове Directory.GetFiles(@"\\comp\dir\") получаю UnauthorizedAccessException. Права на полный доступ по сети к папке \\comp\dir\ были открыты всем, но это не помогло. Помогает запуск от имени другой учётной записи в домене, но тогда не отображается форма.
Вопрос — можно ли выполнить кусок кода от имени другой учётной записи (зная имя и пароль)? Или может есть другие способы отображать форму и иметь доступ к сети.
Здравствуйте, whatever, Вы писали:
W>Есть windows service, написанный на C#, в нём есть форма. Чтобы форма отображалась, в свойствах этого сервиса стоит: Bxoд в cиcтeму: с cиcтeмнoй учeтнoй зaпиcью, Paзpeшить взaимoдeйcтвиe c paбoчим cтoлoм.
W>При вызове Directory.GetFiles(@"\\comp\dir\") получаю UnauthorizedAccessException. Права на полный доступ по сети к папке \\comp\dir\ были открыты всем, но это не помогло. Помогает запуск от имени другой учётной записи в домене, но тогда не отображается форма.
W>Вопрос — можно ли выполнить кусок кода от имени другой учётной записи (зная имя и пароль)? Или может есть другие способы отображать форму и иметь доступ к сети.
Запускайте службу от имени "NETWORK SERVICE", а доступ к шаре настраивайте для учетной записи ServerName$, где ServerName — имя компьютера на котором крутится служба.
Компьютер должен быть в домене AD.
В свойствах компьютера в Actiму Directory надо выставить флаг "Trust computer for delegation".
Если возникают проблемы смотрите
здесь