C#在不同的凭证下运行一段代码

时间:2013-06-14 14:25:19

标签: c# credentials

参考THIS QUESTION我能够以不同的用户身份执行一些代码。 现在我正在尝试以具有管理员权限的用户身份执行一段代码,并且我收到了丢失的文件错误。代码是这样的:

using (new Impersonator("domainAdmin", "DOMAIN", "myStup1dPa$$w0rd"))
{
    GetXAApplicationByName apps = new GetXAApplicationByName();
    apps.BrowserName = new string[] { "*" };
    IEnumerable<XAApplication> result = CitrixRunspaceFactory.DefaultRunspace.ExecuteCommand(apps);
    // other code...
}

在上次报告的行中引发错误,该行以IEnumerable<XAApplication>开头并且是:

  

FileNotFoundException未处理C:\ Windows \ assembly \ GAC_MSIL \ System.Management.Automation \ 1.0.0.0__31bf3856ad364e35 \ System.Management.Automation.dll

我不报告Impersonator类的代码,基本架构报告链接问题(并且它也适用于其他应用程序)。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

看起来模拟没有问题,但是你的代码试图加载不在GAC中的程序集System.Management.Automation.dll,你可以尝试在GAC中注册这个程序集并再试一次。