- 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