Como corrigir quando cmd imprime o comando em vez de executá-lo?

1

Estou tentando automatizar a configuração do chef para windows. Então escrevi .bat de acordo com este :

call winrm quickconfig -q
call winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}
call winrm set winrm/config @{MaxTimeoutms="1800000"}
call winrm set winrm/config/service @{AllowUnencrypted="true"}
call winrm set winrm/config/service/auth @{Basic="true"}
call netsh advfirewall firewall set rule name="Windows Remote Management (HTTP-In)" profile=public protocol=tcp localport=5985 remoteip=localsubnet new remoteip=any

Então, salvei isso em winrm.bat e executei. Mas console imprime para sempre:

C:\Users\Administrator\Desktop>winrm quickconfig -q

Se remover o comando call de todo o resultado da linha é o mesmo. Além disso, se eu remover a primeira linha, call winrm quickconfig -q result é:

C:\Users\Administrator\Desktop>winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}

Eu prestei atenção que imprima esta linha para sempre, não uma linha. Mas quando eu abro o console e manualmente copio e colo comandos um a um, tudo funciona.

O que está errado? Como "ativar" o comando executado a partir do arquivo .bat ?

O cmd está sendo executado no Windows Server 2008 x64 SP2. O sistema acabou de ser instalado.

    
por Cherry 15.12.2014 / 07:28

1 resposta

1

Se o seu arquivo de lote for chamado winrm.bat e você chamar (com ou sem o comando call ) winrm ... provavelmente você tem seu arquivo de lote chamando ele mesmo.

A solução mais fácil é alterar o nome do arquivo em lote

    
por 15.12.2014 / 09:57