A única maneira que consegui fazer isso é:
PsExec.exe \192.168.0.106 -u 123 -p 123 -d shutdown /f /s /t 0
- Ferramenta externa do SysInternals .
- Combinação de senha e usuário no PC de destino
- Comando shell do Shutdown.exe.
Eu tenho direitos administrativos na máquina de destino, todas as credenciais, rede totalmente confiável sem firewall e software antivírus. Eu tenho o windows 8 na máquina de destino e o windows 7 chamando um.
Eu tenho o endereço IP dessa máquina. Eu tenho o shell simples. Eu poderia usar o powershell no entanto.
Ainda não consigo encontrar na internet o comando shell para fazer isso. Tudo o que eu encontro diz que é impossível ou não fornece código de trabalho.
Atualização: Ambos os computadores estão localizados em minha casa e não pertencem ao domínio. Eles só compartilham o mesmo grupo de trabalho.
Atualização:
Acabou de criar um script do 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 diz que o acesso foi negado, embora as credenciais sejam válidas.
Você pode tentar algo assim:
sc \SERVER [start|stop|restart] ServiceName
Funciona do Windows 8 para o Server 2012.
Se eu estiver errado, por favor me avise.
De acordo com este site , você deve ser capaz de use o comando net [start/stop] [servicename]
para iniciar ou parar um serviço por seu nome. Se você só precisa matar um processo, você pode simplesmente pegar o PID usando tasklist
e taskkill
com os flags apropriados.