Как изменить учетные данные пользователя службы Windows из командной строки?
Как изменить учетные данные пользователя службы Windows из командной строки?
Ответ 1
sc.exe config "Service Name" obj= "DOMAIN\User" password= "password" type= own
См. " Ярлык настройки учетных данных для входа в систему для служб Windows" "jonathanmalek.com.
@MattT указывает, что в Windows Server 2008R2 вы должны добавить type= own
, но до этой версии в этом нет необходимости.
В PowerShell 3+ вы можете избежать экранирования аргументов с помощью символа остановки синтаксического анализа: --%
sc.exe --% config "Service Name" obj= "DOMAIN\User" password= "password" type= own
Ответ 2
Я просто вызвал WMI из powershell, чтобы сделать это.
$Svc = Get-WmiObject win32_service -filter "name='ServiceName'"
$Svc.Change($Null, $Null, $Null, $Null, $Null, $Null, "User", "Password")
Не забудьте снова перезапустить службу:
Stop-Service -Name 'ServiceName'
Start-Service -Name 'ServiceName'
Для большего удовольствия от WMI и сервисов см. Класс Win32_Service
Ответ 3
Использование WMI приводит к нешифрованной связи между вашим устройством и машиной, на которую вы меняете учетные данные службы. Таким образом, ваш новый пароль можно легко обнюхивать. Вам просто нужно разобрать Wbl blob send по сети. К настоящему моменту я не нашел надежного способа удаленно изменять пароль учетных записей служб с помощью инструмента.