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
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.