1

Я получил права администратора на целевой машине, все учетные данные, полностью доверенную сеть без брандмауэра и антивирусное программное обеспечение. Я получил Windows 8 на целевой машине и Windows 7 при вызове одной.

  • Мне нужно перезапустить службу Windows по его имени. У меня есть это имя.

Я получил IP-адрес этой машины. У меня есть простая оболочка. Я мог бы использовать PowerShell, однако.

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

Обновление: оба компьютера находятся в моем доме и не принадлежат домену. Они работают только в одной рабочей группе.

Обновить:

Просто создал скрипт powershell:

$password = convertto-securestring -string 'pwd_string' -asplaintext -force
$credential = new-object -typename System.Management.Automation.PSCredential -argumentlist "AF", $password
$service = gwmi win32_service -computername "AgentFire" -filter "name='Sharedaccess'" -credential $credential
$service.stopservice()
Start-Sleep -s 3
$service.startservice()

gwmi говорит, что доступ запрещен, хотя учетные данные действительны.

3 ответа3

1

Единственный способ, которым я смог сделать это:

PsExec.exe \\192.168.0.106 -u 123 -p 123 -d shutdown /f /s /t 0
  1. Внешний инструмент от SysInternals.
  2. Комбинация пароля пользователя на целевом ПК
  3. Команда оболочки shutdown.exe.
1

Вы можете попробовать что-то вроде этого:

sc \\SERVER [start|stop|restart] ServiceName

Работает с Windows 8 до Server 2012.

0

Если я ошибаюсь, пожалуйста, дайте мне знать.

Согласно этому сайту вы сможете использовать команду net [start/stop] [servicename] для запуска или остановки службы по ее имени. Если вам просто нужно убить процесс, вы можете просто получить PID, используя tasklist и taskkill с соответствующими флагами.

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