#Get Data Rate
wmic "/OUTPUT:'C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic where 'NetEnabled = True' 'get Name,MacAddress,Speed'"
Запуск этого прямо в консоли работает. Это только потому, что в консоли я могу сделать это:
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:\>
В сценарии PowerShell я не могу просто ввести сначала WMIC, а затем остальную часть команды, иначе он прервет сценарий, введя приглашение WMIC, ожидая ввода пользователем и больше не выполняет сценарий.
Когда я помещаю его в сценарий PowerShell (первый фрагмент), я продолжаю получать:
Псевдоним не найден
Я пробовал разные комбинации цитат. Но сценарий, который я опубликовал выше, конкретно дает мне:
"/ OUTPUT: 'C: \ Users \ user \ Documents \ DATE RATE TESTS \ Data_Rate-ts8' + '. Txt' nic where 'NetEnabled = True' 'get Name - Псевдоним не найден.
Вы настроены продолжать использовать WMIC? Если вы используете powershell, вам может быть более полезным использовать собственные cmdLets powershell для получения той же информации.
В зависимости от того, что вы делаете с файлом, это может позволить вам пропустить файл. Вы также можете передать результаты запроса WMI в | foreach { }
get-wmiobject Win32_NetworkAdapter -filter 'NetEnabled = True' | select-object Name,MacAddress,Speed | format-list | out-file dataRate.txt