这里的第一篇文章。我正在尝试编写一个脚本,只格式化计算机上的机械硬盘驱动器,并保留固态硬盘的原样。有没有人能解释一下为什么会发生以下情况:
PS C:\Users\hekke> Get-PhysicalDisk | Where-Object -Property mediatype -EQ hdd
给出了输出:
Number FriendlyName SerialNumber MediaType CanPool OperationalStatus HealthStatus Usage Size
------ ------------ ------------ --------- ------- ----------------- ------------ ----- ----
0 WDC WD10TPVT-00U4RT1 WD-WXH1A81P7778 HDD False OK Healthy Auto-Select 931.51 GB
1 WDC WD5000LPVX-22V0TT0 WD-WX71AA4H4EV2 HDD False OK Healthy Auto-Select 465.76 GB
但当我这么做的时候:
PS C:\Users\hekke> Get-PhysicalDisk | Where-Object -Property mediatype -EQ hdd | Select-Object number
它只给了我一个空的数字表:
number
------
我是powershell的新手,提前感谢任何愿意提供帮助的人。
发布于 2020-02-05 05:36:27
这是一个PowerShell试图让事情变得用户友好的案例。你得不到Number
属性的原因是它不存在。如果您通过管道将其发送到| Get-Member
,您将看到属性列表,而Number
却无处可寻。它是在将该对象类型输出到具有其默认输出格式的表格时创建的计算特性。您可以使用的是DeviceId
:
Get-PhysicalDisk | Where-Object -Property mediatype -EQ hdd | Select-Object DeviceId
这应该与您在第一个表中看到的一致。
https://stackoverflow.com/questions/60065603
复制相似问题