获取文件系统驱动器名称的 Powershell 命令 - 成员访问枚举
Powershell command to get filesystem drive names - member-access enumeration
我正在尝试免费获取磁盘 space 并在 windows 2008 R2 企业版中使用了 space。但是,该命令无法获取值。此命令在 windows 2012 版本中运行良好。
Get-PSDrive -PSProvider FileSystem 将获取以下详细信息..
已用名称 (GB) 免费 (GB) 提供商
---- ---------- ---------- ------
C 71.99 166.23 文件系统
H 71.99 166.23 文件系统
(Get-PSDrive -PSProvider FileSystem).Name - 获取驱动器名称,以便我获取其他详细信息。
然而,同样的命令对windows 2008 R2 企业版不起作用。有什么解决办法吗?
(Get-PSDrive -PSProvider FileSystem).Name
依赖于 member-access enumeration,这是在 PSv3 中引入的功能,而 Windows Server 2008 R2附带 PSv2.
成员访问枚举意味着您可以访问属性,例如集合上的.Name
(数组)并在该集合的 每个元素 上隐式访问 属性,结果收集在 array.
在 PSv2- 中,您必须使用 ForEach-Object
cmdlet(或其别名 %
)来代替:
Get-PSDrive -PSProvider FileSystem | % { $_.Name } # return drive names as array
我正在尝试免费获取磁盘 space 并在 windows 2008 R2 企业版中使用了 space。但是,该命令无法获取值。此命令在 windows 2012 版本中运行良好。
Get-PSDrive -PSProvider FileSystem 将获取以下详细信息..
已用名称 (GB) 免费 (GB) 提供商 ---- ---------- ---------- ------ C 71.99 166.23 文件系统 H 71.99 166.23 文件系统
(Get-PSDrive -PSProvider FileSystem).Name - 获取驱动器名称,以便我获取其他详细信息。
然而,同样的命令对windows 2008 R2 企业版不起作用。有什么解决办法吗?
(Get-PSDrive -PSProvider FileSystem).Name
依赖于 member-access enumeration,这是在 PSv3 中引入的功能,而 Windows Server 2008 R2附带 PSv2.
成员访问枚举意味着您可以访问属性,例如集合上的.Name
(数组)并在该集合的 每个元素 上隐式访问 属性,结果收集在 array.
在 PSv2- 中,您必须使用 ForEach-Object
cmdlet(或其别名 %
)来代替:
Get-PSDrive -PSProvider FileSystem | % { $_.Name } # return drive names as array