Kill / Run Processes remotamente na rede

1

Temos uma rede baseada em Windows razoavelmente pequena (XP / 7) de cerca de 15 máquinas. Eu desenvolvi alguns aplicativos de software que usamos internamente que são atualizados regularmente. Para atualizar o software, o usuário deve fechar e reabrir o aplicativo. Eles são então solicitados a fazer a atualização.

Então aqui está a minha pergunta ... Eu tenho privilégios de administrador do sistema, existe alguma maneira de fazer isso para cada máquina na rede a partir da minha máquina? Essencialmente, eu quero um script para matar 'SomeProcess.exe' e, em seguida, iniciar 'SomeProcess.exe' para cada máquina em nossa rede que eu possa executar a partir do meu desktop.

    
por dfarney 27.01.2011 / 21:28

2 respostas

1

Se você quiser fazer uma máquina por vez, pode fazê-lo no prompt de comando da moda antiga com "taskkill / S MACHINENAMEHERE / Seu nome de usuário / F / IM process.exe"

Se você quer ser realmente eficiente, vamos usar o powershell v2.0

Se você estiver usando o AD, eu procurarei instalar os CMDlets do QUEST AD e, em seguida, dê uma olhada em: Wiki da Quest: em GET-QADCOMPUTER

Caso contrário, se você não estiver usando o AD, colocaria todos os nomes de computador em um CSV e usaria algo como o seguinte bit de PowerShell e usando PSKILL e PSEXEC como Sam mencionado acima:

$username = "YourUserName"

$password = "YourPassword"

$process = "YourProcess.exe"

$pathtoCSV = "pathto.csvfile"

Import-CSV $pathtoCSV | ForEach-Object{

  PSKILL $._columnfromCSVComputername -u $username -p $password $process

  Start-Sleep -s 10 #wait for process to die

  PSEXEC $._columnfromCSVComputername 'C:\PATH\'$process '-i'

}

É claro que você terá que fazer algumas alterações nas opções acima, e provavelmente ajustar um pouco a sintaxe ... mas pelo menos você deve começar

    
por 27.01.2011 / 22:31
3

Assumindo o seu ok com o uso de ferramentas sysinternal, você poderia usar PSKill para matar o processo remotamente (supondo você sabe o nome do processo)

pskill \computer -u username -p password processname

Você poderia então usar o PSExec para iniciar o aplicativo novamente.

psexec \computer c:\ application.exe -i

    
por 27.01.2011 / 21:57