Sign in to follow this  
Followers 0
digitalworld

Is there a way to detect disk ID number?

8 posts in this topic

is there a way to detect a disk id number that is assigned to a drive in windows disk managment. for example if you have a maxtor123 drive, can you detect it which disk id has been assigned to it.

Share this post


Link to post
Share on other sites



is there a way to detect a disk id number that is assigned to a drive in windows disk managment. for example if you have a maxtor123 drive, can you detect it which disk id has been assigned to it.

id number? maybe in the registry?

1100111 00001011101111 00011101101111 00010111100100 00001111110100 00110111110010 00101101111001 0011100i didn't make up this form of encryption, but i like it.credit to the lvl 6 challenge on arcanum.co.nz

Share this post


Link to post
Share on other sites

try this code...

$key = "HKLM\SYSTEM\CurrentControlSet\Enum\IDE"
$i = 0
While 1
    $i = $i + 1
    $subkey = $key & "\" & RegEnumKey($key,$i)
    If @error Then ExitLoop
    
    $subkey = $subkey & "\" & RegEnumKey($subkey,1)
    $FriendlyName = RegRead($subkey,"FriendlyName")
    $LocationInformation = RegRead($subkey,"LocationInformation")
    MsgBox(4096,"","I think this info is relevant." & @LF & _
            "FriendlyName: " & $FriendlyName & @LF & _
            "LocationInformation: " & $LocationInformation)
WEnd
thanks larry, i don't haven't gotten permission to access the registry here at work, so i couldn't attempt any code...

1100111 00001011101111 00011101101111 00010111100100 00001111110100 00110111110010 00101101111001 0011100i didn't make up this form of encryption, but i like it.credit to the lvl 6 challenge on arcanum.co.nz

Share this post


Link to post
Share on other sites

thanks larry, i don't haven't gotten permission to access the registry here at work, so i couldn't attempt any code...

Ha!! Wonder how long that will last :P !! (The access permission ... not the job!! :lmao: )


[center]Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.[/center]

Share this post


Link to post
Share on other sites

Ha!! Wonder how long that will last :P !! (The access permission ... not the job!! :lmao: )

it took me more than a month to get permission to access the forum, and i was asking daily, i haven't even tried to ask about registry modifying permission yet...

1100111 00001011101111 00011101101111 00010111100100 00001111110100 00110111110010 00101101111001 0011100i didn't make up this form of encryption, but i like it.credit to the lvl 6 challenge on arcanum.co.nz

Share this post


Link to post
Share on other sites

I expect this is also available via WMI, but I've not looked at it in enough detail. Here's an MSDN starting page for WMI.

Digging your way into the correct namespage is the tricky part. You'll find some WMI examples here in the forum and perhaps your best be would be to Google for a .vbs example and convert it.

Dale


Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Share this post


Link to post
Share on other sites

Somebody on these forums gave the following code some time ago. It looked useful and I kept it - however it is not mine and whoever wrote it should be given the credits. Unfortunatelly there were no comments about that..

Anyway:

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"

$Output=""
$Output = $Output & "Computer: " & $strComputer & @CRLF
$Output = $Output & "==========================================" & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) then
For $objItem In $colItems
$Output = $Output & "AddressWidth: " & $objItem.AddressWidth & @CRLF
$Output = $Output & "Architecture: " & $objItem.Architecture & @CRLF
$Output = $Output & "Availability: " & $objItem.Availability & @CRLF
$Output = $Output & "Caption: " & $objItem.Caption & @CRLF
$Output = $Output & "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF
$Output = $Output & "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF
$Output = $Output & "CpuStatus: " & $objItem.CpuStatus & @CRLF
$Output = $Output & "CreationClassName: " & $objItem.CreationClassName & @CRLF
$Output = $Output & "CurrentClockSpeed: " & $objItem.CurrentClockSpeed & @CRLF
$Output = $Output & "CurrentVoltage: " & $objItem.CurrentVoltage & @CRLF
$Output = $Output & "DataWidth: " & $objItem.DataWidth & @CRLF
$Output = $Output & "Description: " & $objItem.Description & @CRLF
$Output = $Output & "DeviceID: " & $objItem.DeviceID & @CRLF
$Output = $Output & "ErrorCleared: " & $objItem.ErrorCleared & @CRLF
$Output = $Output & "ErrorDescription: " & $objItem.ErrorDescription & @CRLF
$Output = $Output & "ExtClock: " & $objItem.ExtClock & @CRLF
$Output = $Output & "Family: " & $objItem.Family & @CRLF
$Output = $Output & "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
$Output = $Output & "L2CacheSize: " & $objItem.L2CacheSize & @CRLF
$Output = $Output & "L2CacheSpeed: " & $objItem.L2CacheSpeed & @CRLF
$Output = $Output & "LastErrorCode: " & $objItem.LastErrorCode & @CRLF
$Output = $Output & "Level: " & $objItem.Level & @CRLF
$Output = $Output & "LoadPercentage: " & $objItem.LoadPercentage & @CRLF
$Output = $Output & "Manufacturer: " & $objItem.Manufacturer & @CRLF
$Output = $Output & "MaxClockSpeed: " & $objItem.MaxClockSpeed & @CRLF
$Output = $Output & "Name: " & $objItem.Name & @CRLF
$Output = $Output & "OtherFamilyDescription: " & $objItem.OtherFamilyDescription & @CRLF
$Output = $Output & "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF
$strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0)
$Output = $Output & "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF
$Output = $Output & "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF
$Output = $Output & "ProcessorId: " & $objItem.ProcessorId & @CRLF
$Output = $Output & "ProcessorType: " & $objItem.ProcessorType & @CRLF
$Output = $Output & "Revision: " & $objItem.Revision & @CRLF
$Output = $Output & "Role: " & $objItem.Role & @CRLF
$Output = $Output & "SocketDesignation: " & $objItem.SocketDesignation & @CRLF
$Output = $Output & "Status: " & $objItem.Status & @CRLF
$Output = $Output & "StatusInfo: " & $objItem.StatusInfo & @CRLF
$Output = $Output & "Stepping: " & $objItem.Stepping & @CRLF
$Output = $Output & "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF
$Output = $Output & "SystemName: " & $objItem.SystemName & @CRLF
$Output = $Output & "UniqueId: " & $objItem.UniqueId & @CRLF
$Output = $Output & "UpgradeMethod: " & $objItem.UpgradeMethod & @CRLF
$Output = $Output & "Version: " & $objItem.Version & @CRLF
$Output = $Output & "VoltageCaps: " & $objItem.VoltageCaps & @CRLF
if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
$Output=""
Next
Else
Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_Processor" )
Endif


Func WMIDateStringToDate($dtmDate)

Return (StringMid($dtmDate, 5, 2) & "/" & _
StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
& " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
EndFunc

I hope it might be useful to you too.

Share this post


Link to post
Share on other sites

thanks guys, I already tried reading it from registry files, problem i faced was that the controller already writes to the reg to be a disk 0. but it doesn't get to disk 0 until a restart. so in the mean time it is a different disk number.

However, i was able to get this done use a command line option "diskpart" .

thanks again..

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0