| 
                 分類:[VB.NET/VB2005 以降] 
 
 パソコンOS:Windows XP Professional SP2(32bit)
使用ソフト:Microsoft VisualStudio2005 Professional Edition
メモリー:1GB
CPU:Celeron 1.60GHz
初めまして。ボンと申します。初心者ですがご教授お願い致します。
現在、ネットワークで接続されているサーバーの
HDD、CPU、メモリの容量を取得するwindowsサービスを下記のソースで作成しております。
ですが、「アクセスが拒否されました。 (HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))」
とエラーが出て接続出来ず、難航しております・・・
       Dim wSize As Long      'HDD容量
            Dim wFree As Long      'HDD空容量
            Dim wCpu As Integer    'CPU
            Dim wMemory As Long    'MEMORY
            Dim wco As New System.Management.ConnectionOptions
            wco.Username = wstrUser 'ユーザー名
            wco.Password = wstrPass 'パスワード
            Dim wsc As New System.Management.ManagementScope("\\" & wstrIp & "\ROOT\CIMV2", wco)
            wsc.Connect()   '接続
            'HDD
            Dim oq1 As New System.Management.ObjectQuery("select * from Win32_LogicalDisk")
            Using mos As New System.Management.ManagementObjectSearcher(wsc, oq1)
                For Each mo As System.Management.ManagementObject In mos.Get()
                    'Cドライブの容量取得
                    If mo("NAME").ToString = "C:" Then
                        wSize = mo("Size")
                        wFree = mo("FreeSpace")
                    End If
                Next mo
            End Using
            'CPU
            Dim oq2 As New System.Management.ObjectQuery("Select LoadPercentage From Win32_Processor")
            Using mos As New System.Management.ManagementObjectSearcher(wsc, oq2)
                For Each mo As System.Management.ManagementObject In mos.Get()
                    wCpu = mo("LoadPercentage")
                Next
            End Using
            'MEMORY
            Dim oq3 As New System.Management.ObjectQuery("Select FreePhysicalMemory From Win32_OperatingSystem")
            Using mos As New System.Management.ManagementObjectSearcher(wsc, oq3)
                For Each mo As System.Management.ManagementObject In mos.Get()
                    wMemory = mo("FreePhysicalMemory")
                Next
            End Using
試しにwindowsアプリケーションで同じソースで動かしてみたところ、正常に接続出来ました。
windowsサービスで接続するには、何か特別なやり方があるのでしょうか?
申し訳ありませんが、ご教授お願い致します。
  |