重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

http://www.microsoft.com/japan/technet/scriptcen …
の記事を参考に、ローカルPCのドライブのパーティションを調べてドライブ文字を表示するプログラムで、Windows7(Beta)で動作するか確認したところ、動かなかったのでどこがおかしいのか調べたところWin32_DiskDriveToDiskPartitionが影響して、パーティションのリストが取得できてない様子なんです。
もともと、上の記事を参考にプログラムしたので、あまりWMIに詳しくないので、勘違いかもしれませんが、WMIに詳しい方がおられたら何かヒントでも教えていただけると助かります。

A 回答 (1件)

Win7で回答しています。


次のscriptは私の環境で動作しています。
ドライブ キャプション、
デバイスID、
ドライブレター情報
が確認できています。
したがって、Win32_DiskDriveToDiskPartitionは機能していると思います。
--------------------------
ComputerName = "."
Set wmiServices = GetObject ( _
"winmgmts:{impersonationLevel=Impersonate}!//" _
& ComputerName)
' Get physical disk drive
Set wmiDiskDrives = wmiServices.ExecQuery ( _
"SELECT Caption, DeviceID FROM Win32_DiskDrive")

For Each wmiDiskDrive In wmiDiskDrives
WScript.Echo "ドライブ キャプション: " _
& wmiDiskDrive.Caption _
& VbNewLine & "デバイスID: " _
& " (" & wmiDiskDrive.DeviceID & ")"

'Use the disk drive device id to
' find associated partition
query = "ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" _
& wmiDiskDrive.DeviceID & "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition"
Set wmiDiskPartitions = wmiServices.ExecQuery(query)

For Each wmiDiskPartition In wmiDiskPartitions
'Use partition device id to find logical disk
Set wmiLogicalDisks = wmiServices.ExecQuery _
("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" _
& wmiDiskPartition.DeviceID & "'} WHERE AssocClass =

Win32_LogicalDiskToPartition")

For Each wmiLogicalDisk In wmiLogicalDisks
WScript.Echo "Drive letter associated" _
& " with disk drive = " _
& wmiDiskDrive.Caption _
& wmiDiskDrive.DeviceID _
& VbNewLine & " Partition = " _
& wmiDiskPartition.DeviceID _
& VbNewLine & " is " _
& wmiLogicalDisk.DeviceID
Next
Next
Next

この回答への補足

回答のお礼が遅くなり申し訳ありません。
回答ありがとうございました。
書いていただいたスクリプトを実行させていただきましたところ、ドライブ文字は確かに表示されましたのでWin32_DiskDriveToDiskPartitionは問題ないようです。
ただ、ドライブ文字が表示されることを確認したのと同じWin7のパソコンで、
http://www.microsoft.com/japan/technet/scriptcen …
のにあるスクリプトでWinXPではドライブ文字が表示されますのにWin7でドライブ文字が表示されない原因がわかりません。
不勉強で申し訳ないですが、もし原因がわかる方がおられましたらご教授お願い致します。

補足日時:2009/04/20 14:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!