• 締切済み

Windows7でWMIのWin32_DiskDriveToDiskPartitionが使えない?

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

みんなの回答

noname#89375
noname#89375
回答No.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

yukinohi
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • スクリプトの拡張子を教えてください

    http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/feb08/hey0201.mspx 「サウンドをサウンド イベントにランダムに割り当てる方法はありますか」MSN SCriputing Guy!より 上のスクリプトを作成したいのですが、メモ帳で作成していいのでしょうか? その場合は保存の拡張子は何になりますか? あるいは、サイトにあるソフトでダウンロードしてスクリプトを作成するべきでしょうか? http://www.microsoft.com/japan/technet/scriptcenter/tools/default.mspx このサイトにはいくつかソフトがありますが、どれでもいいのでしょうか? スクリプトは初心者なので、見当がつきません。 教えてください。

  • ローカルグループにドメインユーザを追加する方法

    お世話になっております。 下記のページを参考に ローカルアドミンにてログオンしている際に、 VBSにてローカルグループにドメインユーザを追加したいのですが、うまくいきません。 Hey Scripting Guys http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1008.mspx VBS実行時に「ネットワークパスが見つかりません」とエラーが表示されます。 以上、よろしくお願いいたします。

  • なぜAドライブが起動するのでしょうか

    こんにちは。 あるフォルダに含まれるすべてのファイルを表示するというスクリプトを検討していたら以下のスクリプトを見つけました。 このスクリプトをコピーして自分の端末で実行してみたところ、処理は問題なく動くのですが、実行途中でなぜかAドライブを見に行ってしまいます。(見に行った結果エラーになるわけではありません) 出来ればAドライブのチェックは必要ないので、しないように出来たら嬉しいです。 よろしくお願い致します。 【スクリプト情報】 http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/feb05/hey0218.mspx ※同様の内容で一度質問をしましたが、スクリプトの内容が違っていました。すいませんでした。

  • IE8 アドレスバーに表示される URLの一覧をクリアする方法はありますか

    Win7 IE8 を使用しています。 XPやVistaではレジストリキー:TypedURLs を操作して簡単に実現できていたのですが、Win7ではレジストリに存在しないです。 どのようにして標題の件を実現できるのか、ご存知のかたはアドバイスお願いいたします。 なお、XP、Vistaでの実例は、下記マイクロソフトのサイトに説明があります。 この説明にあるレジストリキー HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs が見当たらないのです。 ---Internet Explorer のアドレス バーに表示される URL の一覧をクリアする方法はありますか http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/may06/hey0509.mspx

  • WMIを有効にする方法が分かりません。

    WMIを有効にする方法が分かりません。 ベンチマークソフトが動作しないのは WMI の初期化が完了しない(WMI が無効になっている)からだということがわかりました。 ベンチマークの作者に問い合わせたところ 「WMI を有効にする方法(デフォルトは有効なので、何らかのソフトで無効に されたものと思います。Windows を軽くすると謳うソフトなど)はネット 上で多数紹介されているので検索してみてください。」 と回答をいtだきましたが・・・ どうしてもWMIを有効に出来ません。 以下2つの方法を試みました。 ・マイコンピューターを右クリック→コンピューターの管理→ サービス→WNI Performance Adapterの開始ボタンを押す。 同じくWNIコントロールで動作してるかチェックすると 「Win32: 指定されたサービスは無効であるか、または有効なデバイスが 関連付けられていないため、開始できません。」 というエラーが出る。 ・コマンドプロンプトから、WNIを再起動した際のエラー内容 参照 http://www.microsoft.com/japan/technet/scriptcenter/topics/help/wmi.mspx winmgmt /kill と入力してWMIを停止後 net start winmgmt と入力してWMIサービスを再起動すると 「指定されたサービスは無効であるか、または有効なデバイスが関連付けられて いないため、開始できません。」 というエラーが出ます。 どのようにしたらWMIを有効にすることが出来るのでしょうか? OS:Windows XP SP3

  • 【VB.NET】 パワポ操作を非表示で

     質問させていただきます. どうぞよろしくお願いいたします.  PowerPointの操作をするコードを作成して使っております. 毎回立ち上がるパワポのウィンドウを非表示にしたいのですが, myAPP.Visible = True状態でないと,presentations.Openでエラーが出てしまいます. Dim myAPP As Object myAPP = CreateObject("PowerPoint.Application") Dim myAPPpre = myAPP.presentations Dim Mypath As String = TextBoxパス.Text Dim FName As String myAPP.Visible = True FName = Dir(Mypath & "test.ppt", vbNormal) With myAPPpre.Open(Mypath & FName) '←上のmyAPP.Visible = Trueを消すとエラー                     '「Presentations.Open : 無効な要求です。PowerPoint のフレーム ウィンドウは存在しません。」となります.  どうにか見えない状態で実行できないものでしょうか. 調べておりますと,同じ現象がよくあるようでした. (http://www.kotaete-net.net/Default.aspx?pgid=14&qid=80254136041 http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/sept07/hey0921.mspx のページ中間あたり「さいわい、Visible プロパティを True に設定することによって~」のところ.)  もし何か方法が分かるかたがいらっしゃいましたら, アドバイスいただければと思います.  どうぞよろしくお願いいたします.

  • Windows XP 用セキュリティ更新プログラムは無料?

    題名のとうりWindows XP 用セキュリティ更新プログラム (KB923810) をダウンロードしたいんですが。無料ですか URLは↓こちらです。 http://www.microsoft.com/japan/technet/security/bulletin/MS07-055.mspx です。 なるべく早めの回答お願いいたします。

  • Windows Update 関係ない

    Windows Updateで関係ない更新プログラムをインストールする必要は、ありますか? 具体的には、MS11-02(http://www.microsoft.com/japan/technet/security/bulletin/MS11-025.mspx)です。 私は、Microsftの開発ツールを利用していませんし、開発さえしていません。利用者です。 Microsoft Foundation Class (MFC) もよく分かりません。 このプログラムをインストールする必要はありますか? よろしくお願いします。

  • vbscriptで作成後90日経過したフォルダを削除する方法を教えてください。

    こんにちは。 WindowsServer2003の環境で、以下のVBSを使用して作成後に90日経過したファイルを削除しています。 フォルダもファイルと同様に、作成後に90日経過したら削除を行いたいので、フォルダを削除する方法をお教えください。 ファイル削除の参考にしたサイト http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/nov06/hey1117.mspx ファイル削除VBS dtmDate = Date - 90 strDay = Day(dtmDate) If Len(strDay) < 2 Then strDay = "0" & strDay End If strMonth = Month(dtmDate) If Len(strMonth) < 2 Then strMonth = "0" & strMonth End If strYear = Year(dtmDate) strTargetDate = strYear & strMonth & strDay strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set FileList = objWMIService.ExecQuery _ ("ASSOCIATORS OF {Win32_Directory.Name='C:\WINDOWS\system32\LogFiles\W3SVC1'} Where " _ & "ResultClass = CIM_DataFile") For Each objFile In FileList strDate = Left(objFile.CreationDate, 8) If strDate < strTargetDate Then If objFile.Extension = "log" Then objFile.Delete End If End If Next よろしくお願いいたします。

  • ウイルスバスターでセキュリティホール。MS06-061

    http://oshiete1.goo.ne.jp/qa2526613.html ↑この質問と同じような状況になって下記URLから修正プログラムをDLしました。 しかし未だにセキュリティ診断をするとMS06-061が出てきます。 上記のURLの質問では最終的に特に気にしなくて良いような結論になっているのですが、本当に何もしなくて大丈夫なのでしょうか? 診断で「緊急」と出るので心配です。 お願いします。 http://www.microsoft.com/japan/technet/security/bulletin/ms06-061.mspx