У меня есть компьютер с Windows 2008 A с учетной записью администратора X. У меня есть еще один компьютер с Windows 2008 B с учетной записью администратора Y.
На обеих машинах есть учетная запись Z с одинаковым именем пользователя и паролем на обеих.
Учетная запись Z находится в локальной группе администраторов на обеих машинах.
Они не в домене.
С машины A, как пользователь Z (администратор, общий для обеих машин), я хочу запускать / останавливать службы на машине B.
(На самом деле я хочу сделать это программно из C #, но сейчас моя цель - доказать, что это работает, через командную строку.)
Я пробовал несколько вещей (например, с помощью runas / user: Z cmd, затем с помощью sc.exe), но обнаружил, что SysInternal psservice чтобы быть приятным и гибким, поскольку я могу указать имя пользователя и пароль в командной строке. Я также пробовал кодировать его через WMI.
Всегда получаю один и тот же результат:
Если я использую пользователя / пароль для учетной записи Y (тогда фактического администратора на машине B), он работает. Если я использую пользователя / пароль для учетной записи Z (или олицетворяю его локально), он не работает с отказом в доступе.
Поскольку Z находится в группе администраторов, почему это так?
Спасибо.
Обновить:
Вот мои настройки UAC на обеих машинах:
Очень благодарен всем за комментарии, но вот ответ:
http://blogs.msdn.com/b/vistacompatteam/archive/2006/09/22/766945.aspx
Есть настройка реестра
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy
Что на это влияет.
Если я установлю для этой записи реестра значение 1, все будет работать, как ожидалось - пользователи в группе администраторов могут получить удаленный доступ правильно.
Мне неясно, является ли это сверх любой настройки UAC (т.е. эти локальные настройки UAC никогда не влияют на удаленный доступ), или мое отключение UAC как-то неадекватно. (Я отключил его с помощью пользовательского интерфейса Windows - мои настройки соответствуют исходному снимку экрана вопроса).