3

Я знаю, что есть много вопросов, подобных этому, но все они используют следующий синтаксис для подключения:

runas /netonly /user:[Domain]\[Account on Domain with Administrator access] 
[Program]

Мне нужно запускать / останавливать службы удаленно с другого компьютера, подключенного к рабочей группе. Моя проблема в том, что мой компьютер не связан через доменную структуру, которая, как представляется, подразумевается синтаксисом. При этом открывается программа (скажем, cmd), но выполнение sc \\[Domain\Machine] query для открытого экземпляра cmd.exe не работает, что приводит к ошибке « Отказано в доступе» .

Еще одна альтернатива, которую я нашел в другом месте в StackOverflow:

net use \\[Machine IP/Host name]\IPC$ user:[Account on Machine with 
Administrator Access] [Password]
sc \\[Machine] [Command]

Во втором случае первая строка работает, если я правильно ввел учетные данные учетной записи, при условии, что эта учетная запись не используется кем-либо еще на удаленной машине ...

Но вторая строка завершается с ошибкой отказа в доступе, как и ранее. Я нахожусь в конце своего ума, чтобы решить эту проблему.

Как ни странно, точная ситуация, кажется, не рассматривается вообще нигде в Интернете, и никто не жаловался на требование учетных данных, мешающих им использовать sc или net start например, удаленно. Почти все вопросы по SO относятся к точному синтаксису.

Единственная проблема, которую я могу определить, это если мой компьютер подключен к структуре рабочей группы, а не к домену. В чем реальная проблема?

РЕДАКТИРОВАТЬ : важно отметить, что когда я говорю sc \[Machine] start [Service] и я даю имя несуществующей службы в синтаксисе, сообщение об ошибке напоминает, что служба не существует как установленная служба, но если я ввожу имя действующей службы, ошибка будет запрещена.

РЕДАКТИРОВАТЬ 2 : Он работал после полного отключения контроля доступа пользователя. Я предполагаю, что это не самый безопасный способ сделать это. Есть ли альтернативы с включенным UAC?

РЕДАКТИРОВАТЬ 3 : Я думаю, что это связано с получением административных прав на удаленной машине с помощью cmd. Как я могу добиться этого в командной строке?

2 ответа2

4

Хорошо, я нашел проблему .. По-видимому, по крайней мере в Windows 8, 8.1 и Windows Server 2008 UAC ограничивает административные привилегии, требующие изменений для локальных администраторов по умолчанию.

Единственная причина, которую я могу себе представить, заключается в том, что если вошедший в систему удаленный компьютер, подключенный к рабочей группе, имеет идентичные учетные данные (идентификатор и пароль), как и у домашнего компьютера, удаленный пользователь будет иметь право вносить изменения в командной строке с правами администратора, несмотря на это, вероятно, не было намерением парня, управляющего домашним компьютером.

Таким образом, это, вероятно, означает, что по соображениям безопасности был введен дополнительный фильтр, ограничивающий такие действия только локальным администратором.

Это дано здесь ... https://serverfault.com/questions/111007/having-trouble-using-psservice-and-sc-exe-between-windows-server-2008-machines

т.е. настройка

[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\
LocalAccountTokenFilterPolicy] = 1

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

0

С рабочими группами вы запрашиваете информацию с компьютера, который обрабатывает функцию "браузер". Это не обновляет в режиме реального времени и может быть очень хитом. Если вы используете то же имя пользователя и пароль локально, что и компьютер, которым вы управляете, все будет в порядке, так как запрос обрабатывается без браузера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .