powershell - "Get-WMIObject Win32_CDROMdrive | Select MediaLoaded"告诉我 CD 驱动器中是否加载了 CD

标签 powershell boolean

Get-WMIObject Win32_CDROMdrive | Select MediaLoaded

它可以很好地告诉我我的 CD 驱动器中是否加载了 CD。它返回:

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

我的问题是:我不知道如何将此输出评估为 boolean 值“True”或“False”。即使返回文本显示“False”,它似乎也总是“True”。

最佳答案

您不会展开该属性,因此 Select-Object 命令会为您提供一个对象,该对象的一个​​属性带有 boolean 值,而不是实际的 boolean 值。自 PowerShell interprets non-empty/non-zero values as $true您将得到在 boolean 上下文中使用该对象时观察到的行为。

更改此:

... | Select MediaLoaded

进入此:

... | Select -Expand MediaLoaded

问题就会消失。

关于powershell - "Get-WMIObject Win32_CDROMdrive | Select MediaLoaded"告诉我 CD 驱动器中是否加载了 CD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42878587/

相关文章:

string - PowerShell 使用字符串中的变量作为参数传递

arrays - 迭代PowerShell对象的子属性

azure - 我想通过 powershell 脚本向管理员授予 API 权限许可

shell - shell 脚本中的 boolean 变量

java - 使用 for 循环在二维数组中打印 boolean 输入

c - 与字节的 boolean 运算

sql - Powershell-Invoke-SqlCmd,异步检索PRINT语句

powershell - 具有发布配置文件和配置合并的MSBuild

java - 更改 boolean 数组中的值。选择地方而不是值(value)

c++ - Bool 函数始终为 true & 单链表中的尾节点删除创建无限循环