powershell - 使用 WMI 类输出
问题描述
我正在尝试编写一个函数,为我提供有关驱动器的一些信息(作为函数输入参数)。在进行原型设计时,我得到了想要的结果:制造商。
$c = gwmi -class win32_logicaldisk -filter "deviceid = 'C:'"
$d = $c.GetRelated()
$d.Manufacturer
To Be Filled By O.E.M.
当我将上面的原型放入一个函数中时,我得到了一种数组:
Manufacturer
------------
{$null,$null, To Be filled by O.E.M., $null}
函数(稍后我将使用变量:$a,$b..):
function Get-Test
{
[CmdletBinding()]
param(
[parameter(ValueFromPipeline=$true)]
[ValidateNotNullOrEmpty()]
[string[]]$drives = 'C:'
)
Begin
{
$output=@()
}
Process
{
foreach($drive in $drives)
{
$a = gwmi -class win32_logicaldisk -filter "deviceid = '$drive'" |
select deviceid, description, FileSystem, VolumeSerialNumber, drivetype,volumename,@{n="FreeSpaceGB";e={"{0:N2}" -f ($_.Freespace/1GB)}},@{n="Size";e={"{0:N2}" -f ($_.Size/1GB)}}
$b = gwmi win32_volume -Filter "DriveLetter = '$drive'"
$c = gwmi -class win32_logicaldisk -filter "deviceid = '$drive'"
$d = $c.GetRelated()
$output += [pscustomobject]@{
Manufacturer = $d.Manufacturer
}
}
}
End
{
$output
}
}
只有当我格式化输出时它才能正常工作:
Manufacturer = $($d.Manufacturer -ne $null)
我仍然不明白为什么我必须以这种方式格式化输出?谢谢你的帮助。
解决方案
推荐阅读
- r - ggplot 的颜色面板有两种颜色。获取用于为 geom_rect 着色的面板的 bbox
- typescript - 如何使用 typescript 指定 axios promise 中捕获的错误?
- python - SqlAlchemy 为每个新组合自动增加复合键
- python-3.x - 获取与数字的一维热图对应的颜色
- kubernetes - 从 prometheus 中的不同 pod 收集指标
- laravel - Laravel 8:POST 请求被视为 GET
- flutter - Flutter Web - 直接从 Web 应用程序发送邮件
- azure - 服务主体或托管标识
- excel - 在 Xpath 语法中使用字符串变量
- python - 如何解决有关 Python 中 KPCA 的预计算指标需要形状(n_queries,n_indexed)的错误?