2 votes

"Get-WMIObject Win32_CDROMdrive | Select MediaLoaded" me dit s'il y a un CD chargé dans mon lecteur de CD

Get-WMIObject Win32_CDROMdrive | Select MediaLoaded

fait un excellent travail en me disant s'il y a un CD chargé dans mon lecteur de CD. Il renvoie ceci :

MediaLoaded
-----------
       True

Mon problème est le suivant : je n'arrive pas à trouver comment évaluer cette sortie en tant que booléen "True" ou "False". Il semble que ce soit toujours "True", même si le texte de retour indique "False".

3voto

Ansgar Wiechers Points 38466

Vous n'agrandissez pas la propriété, donc votre Select-Object vous donne un objet avec une propriété avec une valeur booléenne au lieu de la valeur booléenne réelle. Depuis que PowerShell interprète les valeurs non vides/non nulles comme étant $true vous obtenez le comportement observé lorsque vous utilisez l'objet dans un contexte booléen.

Changez ça :

... | Select MediaLoaded

dans ceci :

... | Select -Expand MediaLoaded

et le problème disparaîtra.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X