2012-11-28 2 views
1

Dans le cadre d'un système d'identification de machine, je recherche la signature du Win32_DiskDrive. Sur les machines de deux clients maintenant, j'ai vu ce champ ont une valeur aléatoire. Je suppose que c'est parce que je n'ai pas vérifié le HRESULT dans le code fourni.Valeur aléatoire pour le disque Signature

Qu'est-ce qui empêcherait une machine d'avoir une signature valide?

requête WQL: SELECT Légende, DeviceID, Signature, TotalSectors DE Win32_DiskDrive

Mise à jour:

Cela a été vu sur 3 machines, une en Chine, une en Europe de l'Est, et un en Canada. Quand je dis qu'il renvoie une valeur aléatoire, je veux dire qu'il renvoie une valeur aléatoire différente chaque fois qu'il est interrogé. Attente sur un client pour essayer diskpart et voir ce qu'il dit quand l'uniqueid est demandé.

+0

Je me demande si c'est plus une question de Super Utilisateur – Thomas

+0

Le problème est lié à GPT au lieu de style de partition MBR. Fournira une réponse plus complète quand je finis de travailler sur mon problème. – Thomas

+0

Bien que je puisse voir comment on pourrait penser que cette question concerne le matériel général, je ne vois aucune différence entre cette question et n'importe quelle question SQL. Le WQL est un outil utilisé par les développeurs pour obtenir des informations sur la machine utilisée. – Thomas

Répondre

1

Je ne pouvais pas trouver un moyen de déterminer que la signature était nulle.

Ma solution était de parcourir les partitions pour le lecteur de disque

wstring partionquery= L"ASSOCIATORS of {Win32_DiskDrive.DeviceID='"; 
partionquery += disk_deviceid; 
partionquery += L"'} WHERE AssocClass = Win32_DiskDriveToDiskPartition"; 

récupérer la valeur de type et de voir si elle commence par « TPG » et si oui, appelez DeviceIoControl avec IOCTL_DISK_GET_PARTITION_INFO_EX. Cela fournit la signature GUID de la partition GPT.

Lors de mes tests, chaque partition donne la même signature sur un disque et correspond à la signature affichée comme uniqueid dans diskpart.

Questions connexes