2009-09-22 43 views
0

我需要能夠在共享文件夾在局域網中的計算機上安裝程序進行安裝。找出是否有足夠的磁盤空間,在共享文件夾

首先,我必須知道哪些文件夾在計算機上共享,然後檢查是否有足夠的磁盤空間用於安裝。

這是我的方法。

public static void FindShares() 
    { 
     try 
     { 
      ConnectionOptions options = new ConnectionOptions(); 
      options.Authentication = AuthenticationLevel.PacketPrivacy; 
      options.Impersonation = ImpersonationLevel.Impersonate; 
      string path = "\\\\COMPUTERNAME\\root\\cimv2"; 
      ManagementScope scope = new ManagementScope(path, options); 

      scope.Connect(); 
      ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Share"); 

      ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); 
      ManagementObjectCollection queryCollection = searcher.Get(); 

      foreach (ManagementObject m in queryCollection) 
      { 
       // Display shared folder information 

       Console.WriteLine("Share Name : {0}", m["Name"]); 
       Console.WriteLine("Share Path : {0}", m["Path"]); 
       Console.WriteLine("AccessMask: {0}", m["AccessMask"]); 
       Console.WriteLine("Type: {0}", m["Type"]); 
       Console.WriteLine("Status : {0}", m["Status"]); 
       Console.WriteLine(); 
      } 

      string line; 
      line = Console.ReadLine(); 
     } 
     catch (Exception e) 
     { 
      MessageBox.Show(e.Message); 
     } 
    } 

當我運行此我得到這個錯誤: 訪問被拒絕。 (從HRESULT異常:0x80070005(E_ACCESSDENIED))

我想我必須建立我的indeonation不同,但我不知道如何。

謝謝你的幫助。

回答

0

你拒絕訪問是因爲WMI提供程序冒充你,當它連接到遠程機器,你是不是在遠程計算機上的管理員。

是你在運行這個代碼的PC,和你想打一個Windows域的一部分的PC?

直接或間接是您的用戶帳戶在目標計算機上的本地管理員組的成員?

相關問題