我目前有一个用C#编写的应用程序,可以在当前计算机上向IIS7添加网站,并且它运行得非常完美。以下是代码:
在执行上述代码之前,我使用模拟身份来模拟管理员。我可以远程登录到机器,甚至使用C#代码在机器上创建文件。
我猜测这是远程机器的权限问题,或者可能是因为它是虚拟机,我真的不确定。
代码80070005相当普遍,表示受限制的访问,但我不明白为什么会出现这种情况,考虑到我正在模拟管理员。
我在运行Windows 7 sp1 x64的机器上执行代码,远程虚拟机正在运行Windows Server 2008 sp2 x64。
如果有人知道如何解决这个问题或另一种在远程计算机上添加网站到IIS的方法,我很乐意听取。
谢谢。
var iisManager = new ServerManager();
var sites = iisManager.Sites;
var site = sites.Add("WebsiteName", "C:\Website", 80);
var application = site.Applications[0];
application.ApplicationPoolName = appPool;
iisManager.CommitChanges();
我需要创建一个版本的这段代码,用于在同一网络上位于远程计算机上的 IIS 上添加网站。该代码如下:
var iisManager= ServerManager.OpenRemote("machineName"); //I've also tried machines IP
var sites = iisManager.Sites["Default Web Site"];
var site = Sites.Applications.Add("WebsiteName", "C:\Website", 80);
site.ApplicationPoolName = appPool;
iisManager.CommitChanges();
当 machineName 是执行代码的计算机时,它会将网站添加到 IIS。但是,如果 machineName 是远程计算机,则会出现以下异常:
从 "remote machine name" 检索带有 CLSID {2B72138B-3F5E-4502-8052-803546CE3364} 的远程组件的 COM 类工厂失败,原因是以下错误:80070005 “remote machine”
在执行以下代码时出现异常:
var iisManager= ServerManager.OpenRemote("machineName");
在执行上述代码之前,我使用模拟身份来模拟管理员。我可以远程登录到机器,甚至使用C#代码在机器上创建文件。
我猜测这是远程机器的权限问题,或者可能是因为它是虚拟机,我真的不确定。
代码80070005相当普遍,表示受限制的访问,但我不明白为什么会出现这种情况,考虑到我正在模拟管理员。
我在运行Windows 7 sp1 x64的机器上执行代码,远程虚拟机正在运行Windows Server 2008 sp2 x64。
如果有人知道如何解决这个问题或另一种在远程计算机上添加网站到IIS的方法,我很乐意听取。
谢谢。