Fornecimento automático do servidor Windows a partir de um cliente Linux.

1

Nossa empresa cria um aplicativo C ++ baseado em servidor, que pode ser instalado por um instalador do Windows.

Eu gostaria de poder fazer login remotamente em um novo servidor Windows e instalar esse aplicativo C ++, junto com um conjunto de testes, e fazê-lo em uma estação de trabalho Linux. Eu também gostaria de automatizar esse processo com um script Bash que eu executo a partir da minha estação de trabalho Linux.

Com um servidor Linux, é bastante simples de se fazer. Você começa com uma configuração base com o sshd em execução, usa scp para mover um script bash do lado do servidor do cliente Linux para o servidor e, em seguida, ssh para o servidor Linux a partir do cliente Linux e executa o script bash.

Mas como faço isso quando o cliente é Linux, mas o servidor é o Windows Server (por exemplo, 2k8r2)?

Estou pensando em usar o Chef Solo para algumas dessas coisas, mas ainda teria que instalar o Chef Solo. Como eu faria isso remotamente de uma estação de trabalho Linux?

    
por Jay Godse 09.06.2013 / 07:55

1 resposta

2

Você pode tentar usar winexe para isso, ele imita psexec do Linux. O pacote fonte (versão 1.00) está realmente usando a árvore fonte do Samba com esse utilitário como um extra.

Se a sua distro não empacotar isso, você poderá compilar você mesmo. Para a versão 1.00, descompacte o arquivo tar e a partir dele:

$ cd source4
$ ./autogen.sh
$ ./configure 

(Você precisará de um ambiente de compilação adequado e do Python 2.) O executável está localizado no subdiretório bin depois disso.

Na primeira vez que você executar a ferramenta, ela instalará (e iniciará) um serviço no host Windows remoto. Chamadas subseqüentes são muito mais rápidas.

Exemplo de uso:

./bin/winexe //hostname -U domain\account "cmd.exe /c dir c:\"

Eu tive que definir uma chave de registro para que funcionasse em um destino do Windows 7 (requer reinicialização):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
Key: LocalAccountTokenFilterPolicy
DWORD value: 1

KB 942817 tem algumas informações sobre como definir esse valor de registro quando você implanta seus destinos. Note que isso obviamente tem implicações de segurança.

    
por 09.06.2013 / 14:18