skyteddy Posted May 27, 2007 Share Posted May 27, 2007 Hello, how can I count the installed harddisks (not partitions) in my system? DriveGetDrive doesn't help. And is it possible to get the manufacturer and the serialnumber of the harddisks? Mank thanks in advance! skyteddy Link to comment Share on other sites More sharing options...
Zedna Posted May 27, 2007 Share Posted May 27, 2007 Look at Computer info UDF Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
skyteddy Posted May 29, 2007 Author Share Posted May 29, 2007 Look at Computer info UDFthank you, but it don't really helps. _ComputerGetDrives uses DriveGetDrive(). So, I get the partitions and not the harddisks.greetingsskyteddy Link to comment Share on other sites More sharing options...
PsaltyDS Posted May 29, 2007 Share Posted May 29, 2007 thank you, but it don't really helps. _ComputerGetDrives uses DriveGetDrive(). So, I get the partitions and not the harddisks.greetingsskyteddyCalls to DiskPart.exe from a command line will get you closer, but still can't see past logical disks on a RAID controller to the 'real' HDDs. Not an issue for most desktops. This might suffice for you. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
ScriptUSER Posted May 29, 2007 Share Posted May 29, 2007 Calls to DiskPart.exe from a command line will get you closer, but still can't see past logical disks on a RAID controller to the 'real' HDDs. Not an issue for most desktops. This might suffice for you. DriveGetDrive(). gives the partions and yu may have many partions in one disk . but the following script reads the caption of each disk on your computer . and you may identify the number of disks. then you have to eliminate the removable disks. strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery( _ "SELECT * FROM Win32_DiskDrive") For Each objItem in colItems Wscript.Echo "Caption: " & objItem.Caption Next Link to comment Share on other sites More sharing options...
skyteddy Posted May 29, 2007 Author Share Posted May 29, 2007 DriveGetDrive(). gives the partions and yu may have many partions in one disk . but the following script reads the caption of each disk on your computer . and you may identify the number of disks. then you have to eliminate the removable disks. strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery( _ "SELECT * FROM Win32_DiskDrive") For Each objItem in colItems Wscript.Echo "Caption: " & objItem.Caption NextWhat I have to include first? I get a lot off error if I run this code. Skyteddy Link to comment Share on other sites More sharing options...
GaryFrost Posted May 29, 2007 Share Posted May 29, 2007 $strComputer = "." $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery( "SELECT * FROM Win32_DiskDrive") For $objItem in $colItems MsgBox(0,"Drive", "Caption: " & $objItem.Caption) Next SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference. Link to comment Share on other sites More sharing options...
ScriptUSER Posted May 29, 2007 Share Posted May 29, 2007 $strComputer = "." $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery( "SELECT * FROM Win32_DiskDrive") For $objItem in $colItems MsgBox(0,"Drive", "Caption: " & $objItem.Caption) Next Skyteddy! gafrost s translation to autoit eliminates the errors. I thougt you would translate it , which was easy ! Link to comment Share on other sites More sharing options...
skyteddy Posted May 29, 2007 Author Share Posted May 29, 2007 $strComputer = "." $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery( "SELECT * FROM Win32_DiskDrive") For $objItem in $colItems MsgBox(0,"Drive", "Caption: " & $objItem.Caption) Next Thank you very much to all! Now it works and all my harddisks are found! :-) many greetings from germany! skyteddy Link to comment Share on other sites More sharing options...
ScriptUSER Posted May 29, 2007 Share Posted May 29, 2007 Thank you very much to all! Now it works and all my harddisks are found! :-) many greetings from germany! skyteddy a bit modification , to identify interface and size $strComputer = "." $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery( "SELECT * FROM Win32_DiskDrive") For $objItem in $colItems MsgBox(0,"Drive", "Caption: " & $objItem.Caption) MsgBox(0,"Drive", "Interface: " & $objItem.InterfaceType) MsgBox(0,"Drive", "Size: " & $objItem.Size) Next Link to comment Share on other sites More sharing options...
GaryFrost Posted May 29, 2007 Share Posted May 29, 2007 a good tool for wmi in autoit http://www.autoitscript.com/forum/index.ph...amp;showfile=29 SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference. Link to comment Share on other sites More sharing options...
ScriptUSER Posted May 29, 2007 Share Posted May 29, 2007 a good tool for wmi in autoit http://www.autoitscript.com/forum/index.ph...amp;showfile=29 this is better .... skyteddy $strComputer = "." $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery( "SELECT * FROM Win32_LogicalDisk") For $objItem in $colItems MsgBox(0,"Drive", "Caption: " & $objItem.Caption) MsgBox(0,"Drive", "Interface: " & $objItem.DriveType) MsgBox(0,"Drive", "Size: " & $objItem.Size) Next Link to comment Share on other sites More sharing options...
GaryFrost Posted May 29, 2007 Share Posted May 29, 2007 this is better .... skyteddy $strComputer = "." $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery( "SELECT * FROM Win32_LogicalDisk") For $objItem in $colItems MsgBox(0,"Drive", "Caption: " & $objItem.Caption) MsgBox(0,"Drive", "Interface: " & $objItem.DriveType) MsgBox(0,"Drive", "Size: " & $objItem.Size) Next better than what? The tool is to help them get the info they want about just about any wmi query, lets them know what info they can collect. Was just pointing it out to the user for future reference, something they might learn from. SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference. Link to comment Share on other sites More sharing options...
ScriptUSER Posted May 29, 2007 Share Posted May 29, 2007 better than what?The tool is to help them get the info they want about just about any wmi query, lets them know what info they can collect.Was just pointing it out to the user for future reference, something they might learn from.gafrost ! What i mean is better than the previous scripts as it returns the drive letters and so on .... I never know the link which you posted Exists in autoit ! Thanks for your post . Link to comment Share on other sites More sharing options...
skyteddy Posted May 30, 2007 Author Share Posted May 30, 2007 Thanks to all. My aim was only to create shortcuts on the desktop with argumtens hda, hdb, ... for the smartmontools. The tiny script works now. :-) And thank you for all the additional information. there are very interesting. greetings skyteddy Ps: does anyone know how I can aktivate and deaktivate toolbars? I find a way to open the menu and with send("t") I can aktivate oder deaktivate the toolbar begin with "T"rue Launch Bar, but I can't check before if is aktivated or not. The second problem is, that "t" is used for e.g. "T-DSL Manager" or "True Launch Bar". How can I handle it? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now