Directory.CreateDirectory在远程服务器上失败

时间:2013-11-05 14:45:09

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

我正在开发一个小项目,在asp.net mvc3中,它将部署文件从本地驱动器复制到窗口服务器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;
            }

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

1 个答案:

答案 0 :(得分:2)

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

How do you do Impersonation in .NET?

目前还不清楚你是否在ASP.NET / MVC或其他平台上这样做。你的标签表示ASP.NET MVC,但不是你的主要问题。

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

相关问题