Como obter uma string do Powershell em um script em lote (Windows)?

1

Eu tenho um script que usa invoke-request para obter uma string de ID remota. Como posso recuperar o valor de instanceID e defini-lo como (SET instanceId) dentro do script .bat

powershell $instanceId =(Invoke-WebRequest -Uri http://169.254.169.254/latest/meta-data/instance-id).Content exit

TNKS

    
por Sam Gomari 17.05.2017 / 23:07

1 resposta

1

  • A variável não está definida no PoSh - mas simplesmente saída.
  • O lote agrupa o comando powershell em uma análise para o loop / f e define uma variável em lote.
@Echo off
For /f "usebackqdelims=" %%A in (
  'Powershell.exe -nologo -NoProfile -command "(Invoke-WebRequest -Uri http://169.254.169.254/latest/meta-data/instance-id).Content"'
) Do Set InstanceID=%%A
Echo InstanceID=%InstanceID%
Pause
    
por 18.05.2017 / 00:24