为了获取我的计算机中所有硬盘的序列号,我使用:
wmic diskdrive get serialnumber
但是,我想获取我正在工作的硬盘的序列号。
我解释一下:我有 2 个硬盘,其中一个有 2 个分区 C 和 D。另一个有一个分区 E。使用命令行,如果我在 C 分区中工作,当我键入命令时wmic
,我只想获取具有此分区的硬盘的序列号,而不是具有 E 分区的硬盘的序列号。
我想为我的软件制作一个许可证代码。您可以在任何分区中安装该软件。我想要包含这些分区的硬盘的序列号。当您格式化、重新安装等时,分区的卷序列号会发生变化,但硬盘的序列号不会改变。我知道有软件可以更改序列号,但我的潜在客户并不那么聪明。
答案1
感谢大家的回复。我找到了我需要的答案,在这里与大家分享。命令在 powershell 中:
Get-Disk (Get-Partition -DriveLetter 'C').DiskNumber
输出如下:
Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition Style
------ ------------- --------------------------------------------------
0 ST3802110AS 5LR2DQ65 Healthy Online 74.53 GB MBR
答案2
这是我编写的 Powershell 脚本,希望它可以满足您的要求。
- 打开 Powershell
- 复制并粘贴此内容:
$volumes = get-wmiobject Win32_Volume foreach ($vol in $volumes) { if($vol.Caption -eq 'c:\') { $vol | fl Caption,Name,DeviceID,SerialNumber } } pause
这应该可以让你获得与 C:\ 驱动器相关的所需信息。如果你想要不同的驱动器号,只需在上面脚本的第 4 行中更改它即可c:\
这输出将看起来像:
Caption : C:\
Name : C:\
DeviceID : \\?\Volume{770f1368-bacc-4401-98db-a6c43bc4ef11}\
SerialNumber : 3469401274
笔记:如果您想要所有可用的驱动器信息而不仅仅是这 4 个信息,您可以| fl Caption,Name,DeviceID,SerialNumber
从上面删除并只保留$vol
该行。