WMIC Command funciona, mas não funciona no script powershell

1
#Get Data Rate
wmic "/OUTPUT:'C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic where 'NetEnabled = True' 'get Name,MacAddress,Speed'"

Executar isso no console funciona diretamente. Isso é só porque no console, eu posso fazer isso:

ps C:\>wmic
wmic:root\cli>/OUTPUT:"C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic netenabled ="True"
wmic:root\cli>exit
ps C:\>

No script powershell, não posso simplesmente digitar WMIC primeiro e depois o restante do comando, ou então ele interrompe o script, digitando o prompt da WMIC, aguardando o usuário digitar e não está mais executando o script.

Quando eu coloco em um script PowerShell (primeiro snippet), eu continuo recebendo:

No Alias Found

Eu tentei diferentes combinações de citações. Mas o script que eu postei acima me dá especificamente:

"/OUTPUT:'C:\Users\user\Documents\DATE RATE TESTS\Data_Rate-ts8'+'.txt' nic where 'NetEnabled = True' 'get Name - Alias not found.

    
por Faahmed 08.01.2016 / 03:50

1 resposta

1

Você está determinado a continuar usando o WMIC? Se você estiver usando o powershell, poderá achar mais útil usar o cmdLets do powershell nativo para obter as mesmas informações.

Dependendo do que você está fazendo com o arquivo, isso pode permitir que você pule o arquivo. Você também pode enviar os resultados da consulta WMI para | foreach { }

get-wmiobject Win32_NetworkAdapter -filter 'NetEnabled = True' | select-object Name,MacAddress,Speed | format-list | out-file dataRate.txt
    
por 08.01.2016 / 15:31