相关疑难解决方法(0)

ASP.NET PowerShell模拟

我开发了一个ASP.NET MVC Web应用程序来执行PowerShell脚本.

我正在使用VS Web服务器,可以很好地执行脚本.

但是,要求用户能够针对AD执行脚本以执行不允许其自己的用户帐户执行的操作.

因此,我在创建PowerShell运行空间之前使用模拟来切换标识:

            Runspace runspace = RunspaceFactory.CreateRunspace(config);

        var currentuser = WindowsIdentity.GetCurrent().Name;

        if (runspace.RunspaceStateInfo.State == RunspaceState.BeforeOpen) {
            runspace.Open();
        }
Run Code Online (Sandbox Code Playgroud)

我已经使用域管理员帐户进行了测试,并且在调用runspace.Open()时出现以下异常:

安全异常说明:应用程序尝试执行安全策略不允许的操作.要授予此应用程序所需的权限,请与您的系统管理员联系或在配置文件中更改应用程序的信任级别.异常详细信息:System.Security.SecurityException:不允许请求的注册表访问.

Web应用程序完全信任,我已将用于模拟的帐户明确添加到计算机的本地管理员组(即使域管理员组已经存在).

我正在使用advapi32.dll LogonUser调用以与此帖相似的方式执行模拟(http://blogs.msdn.com/webdav_101/archive/2008/09/25/howto-calling-exchange-powershell-from -an-impersonated-thead.aspx)

任何帮助表示欣赏,因为这是目前的一个显示阻止.

谢谢Ben

asp.net powershell impersonation

5
推荐指数
1
解决办法
4587
查看次数

标签 统计

asp.net ×1

impersonation ×1

powershell ×1