1 votes

La commande WMIC fonctionne, mais ne fonctionne pas dans powershell script.

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

L'exécution dans la console directe fonctionne. C'est seulement parce que dans la console, je peux faire cela :

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:\>

Dans le script de powershell, je ne peux pas simplement taper WMIC d'abord et ensuite le reste de la commande, sinon il interrompt le script en entrant dans l'invite WMIC, en attendant que l'utilisateur tape et n'exécute plus le script.

Lorsque je le mets dans un script powershell (premier extrait), je continue à obtenir :

Aucun alias trouvé

J'ai essayé différentes combinaisons de citations. Mais le script que j'ai posté ci-dessus me donne spécifiquement :

"/OUTPUT : C:\Users\user\Documents\DATE TARIFS TESTS \Data_Rate -ts8'+'.txt' nic where 'NetEnabled = True' 'get Name - Alias non trouvés.

1voto

Clayton Points 4443

Êtes-vous déterminé à continuer d'utiliser WMIC ? Si vous utilisez powershell, vous trouverez peut-être plus utile d'utiliser les cmdLets natives de powershell pour obtenir les mêmes informations.

En fonction de ce que vous faites avec le fichier, cela peut vous permettre d'ignorer le fichier. Vous pouvez également acheminer les résultats de la requête WMI à l'adresse suivante | foreach { }

get-wmiobject Win32_NetworkAdapter -filter 'NetEnabled = True' | select-object Name,MacAddress,Speed | format-list | out-file dataRate.txt

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X