none
有什么命令判断本地磁盘不是NAS磁盘? RRS feed

答案

  • 经过我的测试,interfaceType这个值不理想。

    之前我通过WMIC命令可以查询到但是这个值和Diskpart命令中detail disk命令查询的不一致

    C:\Windows\system32>wmic diskdrive get name,model,interfacetype
    InterfaceType  Model                                      Name
    SCSI           VMware, VMware Virtual S SCSI Disk Device  \\.\PHYSICALDRIVE0
    SCSI           MSFT Virtual HD SCSI Disk Device           \\.\PHYSICALDRIVE1

    DISKPART> sel disk 1
    DISKPART> detail disk

    MSFT Virtual HD SCSI Disk Device
    磁盘 ID: {10F54241-6DF5-4363-AD5C-3DC3AC0DB310}
    类型   : iSCSI
    状态 : 联机
    路径   : 0
    目标 : 0
    LUN ID : 0
    位置路径 : UNAVAILABLE
    当前只读状态: 否
    只读: 否
    启动磁盘: 否
    页面文件磁盘: 否
    休眠文件磁盘: 否
    故障转储磁盘: 否
    群集磁盘  : 否

      卷 ###      LTR  标签         FS     类型        大小     状态       信息
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      卷     3     E   新加卷          NTFS   磁盘分区          58 GB  正常

    查询磁盘类型中SAS接口的类型即可表明为本地磁盘,如下:

    DISKPART> sel disk 0
    DISKPART> detail disk

    VMware, VMware Virtual S SCSI Disk Device
    磁盘 ID: 9B3F7A71
    类型   : SAS
    状态 : 联机
    路径   : 0
    目标 : 0
    LUN ID : 0
    位置路径 : PCIROOT(0)#PCI(1500)#PCI(0000)#SAS(P00T00L00)
    当前只读状态: 否
    只读: 否
    启动磁盘: 是
    页面文件磁盘: 是
    休眠文件磁盘: 否
    故障转储磁盘: 是
    群集磁盘  : 否

      卷 ###      LTR  标签         FS     类型        大小     状态       信息
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      卷     1         系统保留         NTFS   磁盘分区         350 MB  正常
     系统
      卷     2     C                NTFS   磁盘分区          47 GB  正常          启

    以下是您提供Powershell查询结果

    PSComputerName              : SPHYXTDB125080
    ConfigManagerErrorCode      : 0
    LastErrorCode               :
    NeedsCleaning               :
    Status                      : OK
    DeviceID                    : \\.\PHYSICALDRIVE0
    StatusInfo                  :
    Partitions                  : 2
    BytesPerSector              : 512
    ConfigManagerUserConfig     : False
    DefaultBlockSize            :
    Index                       : 0
    InstallDate                 :
    InterfaceType               : SCSI
    MaxBlockSize                :
    MaxMediaSize                :
    MinBlockSize                :
    NumberOfMediaSupported      :
    SectorsPerTrack             : 63
    Size                        : 51539604480
    TotalCylinders              : 6266
    TotalHeads                  : 255
    TotalSectors                : 100663290
    TotalTracks                 : 1597830
    TracksPerCylinder           : 255
    __GENUS                     : 2
    __CLASS                     : Win32_DiskDrive
    __SUPERCLASS                : CIM_DiskDrive
    __DYNASTY                   : CIM_ManagedSystemElement
    __RELPATH                   : Win32_DiskDrive.DeviceID="\\\\.\\PHYSICALDRIVE0"
    __PROPERTY_COUNT            : 51
    __DERIVATION                : {CIM_DiskDrive, CIM_MediaAccessDevice, CIM_LogicalDevic
    __SERVER                    : SPHYXTDB125080
    __NAMESPACE                 : root\cimv2
    __PATH                      : \\SPHYXTDB125080\root\cimv2:Win32_DiskDrive.DeviceID="\
    Availability                :
    Capabilities                : {3, 4}
    CapabilityDescriptions      : {Random Access, Supports Writing}
    Caption                     : VMware, VMware Virtual S SCSI Disk Device
    CompressionMethod           :
    CreationClassName           : Win32_DiskDrive
    Description                 : 磁盘驱动器
    ErrorCleared                :
    ErrorDescription            :
    ErrorMethodology            :
    FirmwareRevision            : 1.0
    Manufacturer                : (标准磁盘驱动器)
    MediaLoaded                 : True
    MediaType                   : Fixed hard disk media
    Model                       : VMware, VMware Virtual S SCSI Disk Device
    Name                        : \\.\PHYSICALDRIVE0
    PNPDeviceID                 : SCSI\DISK&VEN_VMWARE_&PROD_VMWARE_VIRTUAL_S\5&22BE343F&
    PowerManagementCapabilities :
    PowerManagementSupported    :
    SCSIBus                     : 0
    SCSILogicalUnit             : 0
    SCSIPort                    : 3
    SCSITargetId                : 0
    SerialNumber                :
    Signature                   : 2604628593
    SystemCreationClassName     : Win32_ComputerSystem
    SystemName                  : SPHYXTDB125080
    Scope                       : System.Management.ManagementScope
    Path                        : \\SPHYXTDB125080\root\cimv2:Win32_DiskDrive.DeviceID="\
    Options                     : System.Management.ObjectGetOptions
    ClassPath                   : \\SPHYXTDB125080\root\cimv2:Win32_DiskDrive
    Properties                  : {Availability, BytesPerSector, Capabilities, Capability
    SystemProperties            : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
    Qualifiers                  : {dynamic, Locale, provider, UUID}
    Site                        :
    Container                   :


    谷青松


    • 已编辑 谷青松 2019年6月13日 2:34 补充文字
    • 已标记为答案 谷青松 2019年6月17日 6:15
    2019年6月13日 2:32

全部回复

  • 您好!

    感谢您的提问。

    您可以尝试以下Power shell命令,

    #查看本地磁盘驱动器
    Get-WmiObject -Class Win32_logicaldisk -Filter "DriveType = '3'"
    #查看网络挂载磁盘驱动器
    Get-WmiObject -Class Win32_logicaldisk -Filter "DriveType = '4'"

    具体信息您可以参照以下这个博客,

    https://mcpmag.com/articles/2018/01/26/view-drive-information-with-powershell.aspx

    请注意:由于该网站不是由微软托管,链接可能会改变,不另行通知。 Microsoft不保证此信息的准确性。

    希望以上信息可以帮助到您。

    如需要进一步,可以随时在论坛回复。

    Best regards,

    Michael


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2019年6月4日 5:51
    版主
  • 你好,依据我的测试结果

    Get-WmiObject -Class Win32_logicaldisk -Filter "DriveType = '4'"

    只能查询到网络映射驱动器挂载的磁盘,不能查询到NAS挂载盘。

    另外我测试结果发现貌似只有diskpart命令才中Detail disk才能盘为NAS盘 ,查询磁盘类型中iSCSI接口的类型表明此磁如下:

    DISKPART> sel disk 1
    DISKPART> detail disk

    MSFT Virtual HD SCSI Disk Device
    磁盘 ID: {10F54241-6DF5-4363-AD5C-3DC3AC0DB310}
    类型   : iSCSI
    状态 : 联机
    路径   : 0
    目标 : 0
    LUN ID : 0
    位置路径 : UNAVAILABLE
    当前只读状态: 否
    只读: 否
    启动磁盘: 否
    页面文件磁盘: 否
    休眠文件磁盘: 否
    故障转储磁盘: 否
    群集磁盘  : 否

      卷 ###      LTR  标签         FS     类型        大小     状态       信息
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      卷     3     E   新加卷          NTFS   磁盘分区          58 GB  正常

    查询磁盘类型中SAS接口的类型即可表明为本地磁盘,如下:

    DISKPART> sel disk 0
    DISKPART> detail disk

    VMware, VMware Virtual S SCSI Disk Device
    磁盘 ID: 9B3F7A71
    类型   : SAS
    状态 : 联机
    路径   : 0
    目标 : 0
    LUN ID : 0
    位置路径 : PCIROOT(0)#PCI(1500)#PCI(0000)#SAS(P00T00L00)
    当前只读状态: 否
    只读: 否
    启动磁盘: 是
    页面文件磁盘: 是
    休眠文件磁盘: 否
    故障转储磁盘: 是
    群集磁盘  : 否

      卷 ###      LTR  标签         FS     类型        大小     状态       信息
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      卷     1         系统保留         NTFS   磁盘分区         350 MB  正常
     系统
      卷     2     C                NTFS   磁盘分区          47 GB  正常         启

    我现在是希望您这边提供一个简单的命令可以查询判断是否是NAS挂载,使用Diskpart命令步骤过多繁琐,所以希望你能够帮忙找到一个好一些的命令。

    另外能否告知Win32_logicaldisk中DriveType值1~5的含义,目前我了解到

    3表示本地磁盘

    4表示网络映射磁盘

    5表示光盘

    其他1和2分别表示啥?请告诉我,谢谢!


    谷青松



    • 已编辑 谷青松 2019年6月4日 7:41 编辑文字补充
    2019年6月4日 7:35
  • 您好!

    感谢您的详细回复。

    关于DriveType值的含义,1表示不是根目录磁盘,2表示可移动磁盘,您可以参照以下链接:

    https://mcpmag.com/articles/2018/01/26/view-drive-information-with-powershell.aspx

    另外,您可以参照此链接中的另一条命令,可以看到interface接口类型来判断是否为NAS磁盘,

    $DiskPartition.GetRelationships() | Select-Object -Property __RELPATH
    $DiskDrive = $DiskPartition.getrelated('Win32_DiskDrive')
    $DiskDrive
    $DiskDrive | Select-Object -Property *

    希望以上信息可以帮助到您。

    如果还需要进一步的帮助,可以随时在论坛回复。

    Best regards,

    Michael


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2019年6月6日 8:27
    版主
  • 你好,

    请问回复的信息对你有用么?

    如果觉得答复有帮助,欢迎标记为答案。

    如果你需要进一步的帮助,请告诉我们。

    Best Regards,

    Michael


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com


    2019年6月10日 7:27
    版主
  • 执行

    $DiskPartition.GetRelationships() | Select-Object -Property __RELPATH
    $DiskDrive = $DiskPartition.getrelated('Win32_DiskDrive')
    无法执行,错误代码:
    不能对 Null 值表达式调用方法。
    所在位置 行:1 字符: 1
    + $DiskPartition.GetRelationships() | Select-Object -Property __RELPATH
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [],RuntimeException
        + FullyQualifiedErrorId : InvokeMethodOnNull


    不能对 Null 值表达式调用方法。
    所在位置 行:1 字符: 1
    + $DiskDrive =$DiskPartition.getrelated('Win32_DiskDrive')
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [],RuntimeException
        + FullyQualifiedErrorId : InvokeMethodOnNull

    请指教


    谷青松

    2019年6月11日 6:44
  • 您好!

    不好意思,之前的脚本我在传达的时候可能有些问题。咱们需要先将几个参数的取值跑出,才能得出最终的结果。

    我重新写下命令,您可以再参照下下面截图。

    $Disk = Get-WmiObject -Class Win32_logicaldisk -Filter "DeviceID = 'C:'"
    $DiskPartition = $Disk.GetRelated('Win32_DiskPartition')
    $DiskDrive = $DiskPartition.getrelated('Win32_DiskDrive')
    $DiskPartition | Select-Object -Property *
    $DiskDrive | Select-Object -Property *
    

    以上命令您可以一条条跑,前面三个代表值得出之后,后面两条可以跑出咱们的结果。详细参照下图,

    希望以上信息可以帮助到您。

    如果还需要进一步的回复,可以随时在论坛回复。

    Best regards,

    Michael


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2019年6月12日 7:20
    版主
  • 经过我的测试,interfaceType这个值不理想。

    之前我通过WMIC命令可以查询到但是这个值和Diskpart命令中detail disk命令查询的不一致

    C:\Windows\system32>wmic diskdrive get name,model,interfacetype
    InterfaceType  Model                                      Name
    SCSI           VMware, VMware Virtual S SCSI Disk Device  \\.\PHYSICALDRIVE0
    SCSI           MSFT Virtual HD SCSI Disk Device           \\.\PHYSICALDRIVE1

    DISKPART> sel disk 1
    DISKPART> detail disk

    MSFT Virtual HD SCSI Disk Device
    磁盘 ID: {10F54241-6DF5-4363-AD5C-3DC3AC0DB310}
    类型   : iSCSI
    状态 : 联机
    路径   : 0
    目标 : 0
    LUN ID : 0
    位置路径 : UNAVAILABLE
    当前只读状态: 否
    只读: 否
    启动磁盘: 否
    页面文件磁盘: 否
    休眠文件磁盘: 否
    故障转储磁盘: 否
    群集磁盘  : 否

      卷 ###      LTR  标签         FS     类型        大小     状态       信息
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      卷     3     E   新加卷          NTFS   磁盘分区          58 GB  正常

    查询磁盘类型中SAS接口的类型即可表明为本地磁盘,如下:

    DISKPART> sel disk 0
    DISKPART> detail disk

    VMware, VMware Virtual S SCSI Disk Device
    磁盘 ID: 9B3F7A71
    类型   : SAS
    状态 : 联机
    路径   : 0
    目标 : 0
    LUN ID : 0
    位置路径 : PCIROOT(0)#PCI(1500)#PCI(0000)#SAS(P00T00L00)
    当前只读状态: 否
    只读: 否
    启动磁盘: 是
    页面文件磁盘: 是
    休眠文件磁盘: 否
    故障转储磁盘: 是
    群集磁盘  : 否

      卷 ###      LTR  标签         FS     类型        大小     状态       信息
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      卷     1         系统保留         NTFS   磁盘分区         350 MB  正常
     系统
      卷     2     C                NTFS   磁盘分区          47 GB  正常          启

    以下是您提供Powershell查询结果

    PSComputerName              : SPHYXTDB125080
    ConfigManagerErrorCode      : 0
    LastErrorCode               :
    NeedsCleaning               :
    Status                      : OK
    DeviceID                    : \\.\PHYSICALDRIVE0
    StatusInfo                  :
    Partitions                  : 2
    BytesPerSector              : 512
    ConfigManagerUserConfig     : False
    DefaultBlockSize            :
    Index                       : 0
    InstallDate                 :
    InterfaceType               : SCSI
    MaxBlockSize                :
    MaxMediaSize                :
    MinBlockSize                :
    NumberOfMediaSupported      :
    SectorsPerTrack             : 63
    Size                        : 51539604480
    TotalCylinders              : 6266
    TotalHeads                  : 255
    TotalSectors                : 100663290
    TotalTracks                 : 1597830
    TracksPerCylinder           : 255
    __GENUS                     : 2
    __CLASS                     : Win32_DiskDrive
    __SUPERCLASS                : CIM_DiskDrive
    __DYNASTY                   : CIM_ManagedSystemElement
    __RELPATH                   : Win32_DiskDrive.DeviceID="\\\\.\\PHYSICALDRIVE0"
    __PROPERTY_COUNT            : 51
    __DERIVATION                : {CIM_DiskDrive, CIM_MediaAccessDevice, CIM_LogicalDevic
    __SERVER                    : SPHYXTDB125080
    __NAMESPACE                 : root\cimv2
    __PATH                      : \\SPHYXTDB125080\root\cimv2:Win32_DiskDrive.DeviceID="\
    Availability                :
    Capabilities                : {3, 4}
    CapabilityDescriptions      : {Random Access, Supports Writing}
    Caption                     : VMware, VMware Virtual S SCSI Disk Device
    CompressionMethod           :
    CreationClassName           : Win32_DiskDrive
    Description                 : 磁盘驱动器
    ErrorCleared                :
    ErrorDescription            :
    ErrorMethodology            :
    FirmwareRevision            : 1.0
    Manufacturer                : (标准磁盘驱动器)
    MediaLoaded                 : True
    MediaType                   : Fixed hard disk media
    Model                       : VMware, VMware Virtual S SCSI Disk Device
    Name                        : \\.\PHYSICALDRIVE0
    PNPDeviceID                 : SCSI\DISK&VEN_VMWARE_&PROD_VMWARE_VIRTUAL_S\5&22BE343F&
    PowerManagementCapabilities :
    PowerManagementSupported    :
    SCSIBus                     : 0
    SCSILogicalUnit             : 0
    SCSIPort                    : 3
    SCSITargetId                : 0
    SerialNumber                :
    Signature                   : 2604628593
    SystemCreationClassName     : Win32_ComputerSystem
    SystemName                  : SPHYXTDB125080
    Scope                       : System.Management.ManagementScope
    Path                        : \\SPHYXTDB125080\root\cimv2:Win32_DiskDrive.DeviceID="\
    Options                     : System.Management.ObjectGetOptions
    ClassPath                   : \\SPHYXTDB125080\root\cimv2:Win32_DiskDrive
    Properties                  : {Availability, BytesPerSector, Capabilities, Capability
    SystemProperties            : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
    Qualifiers                  : {dynamic, Locale, provider, UUID}
    Site                        :
    Container                   :


    谷青松


    • 已编辑 谷青松 2019年6月13日 2:34 补充文字
    • 已标记为答案 谷青松 2019年6月17日 6:15
    2019年6月13日 2:32
  • 好的,暂时还是建议您使用diskpart命令来显示NAS磁盘及其他磁盘接口类型。

    感谢您的分享。

    祝工作愉快!

    Best regards,

    Michael


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2019年6月18日 6:21
    版主