【问题标题】:Given a PowerShell Disk, how do I know if it's removable or not?给定一个 PowerShell 磁盘,我如何知道它是否可移动?
【发布时间】:2018-12-29 19:44:37
【问题描述】:

在给定这样的代码的情况下,是否有任何 cmdlet 方法可以获取磁盘是固定的还是可移动的?

$disk = Get-Disk -Number 1
Get-DiskDriveType $disk

Get-DiskDriveType 应该返回 RemovableFixed

【问题讨论】:

  • 检查Win32_LogicalDisk 类的DriveType 属性。
  • @AnsgarWiechers 我如何得到它? Get-Disk 不提供,对吧?
  • 你真的阅读我链接到的页面怎么样?
  • @AnsgarWiechers 好的,我的错。谢谢。下次您帮助某人时的提示:只需添加“在该页面上查找 x”。它将为您的答案增加更多价值。
  • Get-Disk 列出物理磁盘。使用其输出的UniqueId 选择相应的Win32_DiskDrive 对象(属性PNPDeviceId),然后选择correlate physical with logical disk

标签: powershell disk


【解决方案1】:

使用 PowerShell 盘点驱动器类型

https://blogs.technet.microsoft.com/heyscriptingguy/2014/09/10/inventory-drive-types-by-using-powershell

两种方法:

Get-Volume

DriveLetter FileSystemLabel FileSystem  DriveType  HealthStatus SizeRemaining Size
----------- ----------- ----------  ---------  ---------- ----------       ----

C           SSD         NTFS        Fixed      Healthy      75.38 GB  148.53 GB
E           HybridTe... NTFS        Fixed      Healthy     560.71 GB  931.39 GB
D           FourTB_B... NTFS        Fixed      Healthy        1.5 TB    3.64 TB
F           TwoTB_BU... NTFS        Fixed      Healthy     204.34 GB    1.82 TB
G           USB3        NTFS        Removable  Healthy       6.73 GB   58.89 GB
            Recovery    NTFS        Fixed      Healthy      22.96 MB     300 MB
H                                   CD-ROM     Healthy           0 B        0 B

或者

$hash = @{
    2 = "Removable disk"
    3 = "Fixed local disk"
    4 = "Network disk"
    5 = "Compact disk"
}

Get-CimInstance Win32_LogicalDisk |
Select DeviceID, VolumeName,
@{LABEL='TypeDrive';EXPRESSION={$hash.item([int]$_.DriveType)}}

【讨论】:

  • 感谢您的回答,但我想知道磁盘是否可移动或未指定 DiskNumber。这可能吗?
  • 不用担心,但至于这个......'或没有给出磁盘编号'......你在原来的帖子中没有问这个。然而,答案是,当然,您只需创建一个驱动器列表并将其传送到 cmdlet / 函数或进行正则表达式匹配。那么,你真正想要做什么?任何已安装的驱动器/或驱动器安装点都可以/将具有驱动器号/磁盘号-数字。
  • 我想添加(但它不允许我编辑我的评论)...任何插入的非格式化驱动器都会得到一个 DeviceId,但当然没有字母或卷信息。
【解决方案2】:
 Get-Volume | Where-Object {$_.DriveType -eq 'removable'} | Get-Partition | Get-Disk | Where-Object {$_.Number -eq $diskNumber}

【讨论】:

    猜你喜欢
    • 2021-01-10
    • 1970-01-01
    • 2020-06-24
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 2010-09-22
    • 2022-08-24
    相关资源
    最近更新 更多