【问题标题】:Directory.CreateDirectory failed on Remote ServerDirectory.CreateDirectory 在远程服务器上失败
【发布时间】:2013-11-16 11:37:28
【问题描述】:

我正在做一个小项目,在 asp.net mvc3 中,它将部署文件从本地驱动器复制到 windows server 2008 R2 服务器上的共享驱动器。我使用WMI连接,连接成功。但是,我尝试创建一个文件夹,并收到消息“登录失败:未知用户名或密码错误”。这是一个示例代码:

bool isConnected = false;
            options.Username = user.Name.Trim();
            options.Password = user.password.Trim();
            mScope = new ManagementScope("\\\\xxx.xxx.xxx.xxx\\root\\cimv2", options);
            mScope.Connect();
            if (mScope.IsConnected == true)
            {
               //I've gotten to this point. Then, the code below throw the exception
                Directory.CreateDirectory(@"\\\\xxx.xxx.xxx.xxx\Tester\shareFile.txt");
                isConnected = true;
            }

我想知道我在做什么?这是正确的做法吗?

【问题讨论】:

    标签: asp.net asp.net-mvc-3 c#-4.0


    【解决方案1】:

    这是正确的方法,但是它将是您尝试访问的当前用户被传递到远程计算机以创建目录。此时的管理范围与 Directory.CreateDirectory 无关。这是两个不同的“世界”。您确实将信任授予 ManagementScope,但这对 Directory.CreateDirectory 没有影响。你可以使用模拟来做你想做的事:

    How do you do Impersonation in .NET?

    目前尚不清楚您是在 ASP.NET/MVC 还是其他平台中执行此操作。您的标签表示 ASP.NET MVC,但不是您的主要问题。

    请记住,如果您使用的是 ASP.NET/MVC,则应用程序池的凭据将用于执行此类操作。

    【讨论】:

    • 谢谢@JosianeFerice - 在这种情况下,请按照我的回答,包括链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 2014-09-29
    相关资源
    最近更新 更多