【问题标题】:Remotely create network shares远程创建网络共享
【发布时间】:2009-05-10 13:36:06
【问题描述】:

我正在尝试弄清楚如何完成以下任务:

  1. 在远程创建网络共享 使用 .NET 的计算机
  2. 目标计算机是 在同一个网络上。
  3. 目标计算机的 管理员用户名和密码是 已知。

你的想法?您将如何实现这一目标?

【问题讨论】:

    标签: .net security networking


    【解决方案1】:

    通过代码执行 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 参考,了解所有参数和返回码的含义。

    【讨论】:

    • 这里的示例代码在远程服务器中不起作用。如果服务器是远程的:- 删除 "path.Server = ".";"并添加 "path.Path = "\\\\ServerName\\ROOT\\cimv2:Win32_Share";"
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-30
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      相关资源
      最近更新 更多