Automatizando o SSH para janelas com Ruby

Eu tenho 13 servidores windows executando Jenkins Slaves. Por alguma razão (atualizações do Windows?), Os escravos Jenkins periodicamente param de trabalhar e o serviço Jenkins Slave precisa ser reiniciado. Se eu manualmente SSH para as máquinas (cygwin ssh servidor está em execução) eu simplesmente digite:

net stop "Jenkins Slave"
net start "Jenkins Slave"

e isso (quase) sempre resolve o problema.

Então eu escrevi um script Ruby para automatizar isso.

Aqui está:

#!/usr/bin/env ruby
require 'rubygems'
require 'net/ssh'

USER = 'Administrator'
PASS = 'PASSWORD'
hosts = [:breckenridge, :carbondale, :crestone, :denali, :gunnison, :sneffels, "mammoth", "whitney", "snowmass", "firestone",  "avon", :grizzly, :silverton]

hosts.each {|host|
    puts "SSHing #{host} ..." 
    Net::SSH.start( HOST, USER, :password => PASS ) do |ssh|
        puts ssh.exec!('net stop "Jenkins Slave"')
        puts ssh.exec!('net start "Jenkins Slave"')
        puts "Logging out..."
    end
}

O script é executado em todas as máquinas, vejo a saída que o serviço foi iniciado. No entanto, issoNunca trabalho. Quando eu ssh de volta para a máquina, o serviço não foi iniciado.

Infelizmente, não posso usar o Linux - não estou no controle dessas máquinas.

Alguma idéia de por que um SSH executado manualmente funciona, mas o script não funciona?

Obrigado phil

questionAnswers(1)

yourAnswerToTheQuestion