如何在 PowerShell 中获取磁盘驱动器的首次安装日期?

How do I get the first install date of a disk drive in PowerShell?

设备管理器中,我可以查看任何设备(包括磁盘驱动器)的属性。在 详细信息 选项卡中,我可以 select 首次安装日期 :

在 PowerShell 中,我可以通过发出以下命令获取所有磁盘驱动器:

Get-CimInstance -ClassName CIM_DiskDrive

返回的对象有一个InstallDate 属性,但它是空的。如何在 PowerShell 中获取在设备管理器中可见的日期?我是否必须将 CIM_DiskDrive class 与另一个 CIM class 相关联?如果有,是哪个?

使用 Get-PnpDeviceProperty 您可以提取您正在寻找的附加信息。它不像您想象的那么直观,但它确实有效!我相信您可以找到确切的 Class 并直接拉取它,但这仍然是一种实用的方式。

# Get PNPDeviceID from the disk driver
$PNPDeviceID = Get-CimInstance -ClassName CIM_DiskDrive | Select-Object -ExpandProperty PNPDeviceID

# Get friendly name to verify and first install date
Get-PnpDeviceProperty -InstanceId $PNPDeviceID -KeyName DEVPKEY_Device_FriendlyName, DEVPKEY_Device_FirstInstallDate | Select-Object KeyName, Data

根据 的出色指导,我想出了以下解决方案:

Get-PnpDevice -Class DiskDrive -Status OK | ForEach-Object {
    [PSCustomObject]@{
        FriendlyName=(Get-PnpDeviceProperty -InputObject $_ -KeyName DEVPKEY_Device_FriendlyName).Data;
        FirstInstallDate=(Get-PnpDeviceProperty -InputObject $_ -KeyName DEVPKEY_Device_FirstInstallDate).Data
    }
}

它获取所有当前安装的磁盘驱动器和 returns 它们的友好名称和首次安装日期作为自定义对象以供进一步处理。