Win32_DiskDrive WMIクラスのSignatureプロパティは何ですか? ユニークであるか、ユーザーはディスクボリュームのシリアル番号のように変更できますか?Win32_DiskDrive Signatureプロパティ
ありがとうございました。
Win32_DiskDrive WMIクラスのSignatureプロパティは何ですか? ユニークであるか、ユーザーはディスクボリュームのシリアル番号のように変更できますか?Win32_DiskDrive Signatureプロパティ
ありがとうございました。
"署名"プロパティはWindows XPで導入され、共有クラスタディスクとして使用されるディスクに使用されます。私の理解では、ディスクがWindowsシステムに初めて接続されたときに作成され、ディスクが別のコントローラを介して接続されていても(またはクラスタシナリオでは別のコンピュータを経由しても)変更されません。私が変更され、別のマシンと署名とPNPDeviceIDにHDDを取るhttp://msdn.microsoft.com/en-us/library/aa369328(VS.85).aspx
物理ディスクリソース の作成 :
詳細な説明はMSDNを参照してください。だから私はOSがこの署名を生成すると思う。
私は "Win32_DiskDrive WMIクラス"に関するいくつかの重要な詳細を教えてくれます。
次のコードをC#プロジェクトにコピーします。
public static string HardDiskID()
{
ManagementClass partionsClass = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection partions = partionsClass.GetInstances();
string hdd = string.Empty;
foreach (ManagementObject partion in partions)
{
hdd = Convert.ToString(partion["SerialNumber"]);
if (hdd != string.Empty)
return hdd;
}
return hdd;
}
注 - 上記のコードの "SerialNumber"文字列は、ハードディスクの属性に置き換えることができます。
uint16 Availability;
uint32 BytesPerSector;
uint16 Capabilities[];
string CapabilityDescriptions[];
string Caption;
string CompressionMethod;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
string CreationClassName;
uint64 DefaultBlockSize;
string Description;
string DeviceID;
boolean ErrorCleared;
string ErrorDescription;
string ErrorMethodology;
string FirmwareRevision;
uint32 Index;
datetime InstallDate;
string InterfaceType;
uint32 LastErrorCode;
string Manufacturer;
uint64 MaxBlockSize;
uint64 MaxMediaSize;
boolean MediaLoaded;
string MediaType;
uint64 MinBlockSize;
string Model;
string Name;
boolean NeedsCleaning;
uint32 NumberOfMediaSupported;
uint32 Partitions;
string PNPDeviceID;
uint16 PowerManagementCapabilities[];
boolean PowerManagementSupported;
uint32 SCSIBus;
uint16 SCSILogicalUnit;
uint16 SCSIPort;
uint16 SCSITargetId;
uint32 SectorsPerTrack;
string SerialNumber;
uint32 Signature;
uint64 Size;
string Status;
uint16 StatusInfo;
string SystemCreationClassName;
string SystemName;
uint64 TotalCylinders;
uint32 TotalHeads;
uint64 TotalSectors;
uint64 TotalTracks;
uint32 TracksPerCylinder
2つのコメントは、このパスに従う人にとっては非常に重要だと思います。
を参照してください? OSは同じ署名を生成しますか? – mrtaikandi
私の理解では、以前に生成された署名は決して再び触れられません。クラスタディスクは、1つのクラスタノードを再インストールした場合でも同じディスクにアクセスするすべてのマシンで同じIDを維持する必要があるためです。 – Mischa