远程创建网络共享

时间:2009-05-10 13:36:07

标签: .net security networking

我想弄清楚如何完成以下任务:

  1. 在遥控器上创建网络共享 使用.NET的计算机
  2. 目标计算机是 在同一个网络上。
  3. 目标计算机 管理员用户名和密码是 已知的。
  4. 你的想法?你将如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

从代码执行Windows管理任务的最佳和最简单的方法是WMI。几乎任何东西都可以通过WMI在本地或远程的Windows机器上完成。

要管理Windows共享文件夹,您需要与Win32_Share WMI类进行交互。

有关如何使用WMI创建共享文件夹的示例:

    ManagementPath path = new ManagementPath("Win32_Share");
    path.Server = ".";              // Change this to your server

    object[] parameters = new object[] {
        "C:\\TestShare",            // Path to shared folder
        "Test Share",               // Share name
        0x0,                        // Share type (disk drive)
        5,                          // Maximum amount of concurrent users
        null,                       // Password (optional)
        null                        // Security level (optional)
    };

    ManagementClass share = new ManagementClass(path);
    object result = share.InvokeMethod("Create", parameters);

您需要添加对System.Management程序集的引用才能访问WMI类。当然,您还需要访问远程计算机。

查看WMI Reference了解更多详情。具体请查看Win32_Share Class参考,了解所有参数和返回代码的含义。

答案 1 :(得分:0)

http://www.google.ca/search?hl=en&q=create+share+net表示您将使用PInvoke来调用NetShareAdd API。

我想知道替代方案是否可以调用NET SHARE命令行命令,但是查看NET HELP SHARE我看不到如何使用它来在远程计算机上创建共享。