Chr*_*lum 10 c# security powershell powershell-2.0
我正在尝试从C#应用程序运行PowerShell脚本,当我的C#app作为非管理员用户(例如网络服务或其他域帐户)运行时,我需要运行该脚本.
以前,我使用以下代码:
using (RunspaceInvoke invoker = new RunspaceInvoke())
{
// load the powershell module
invoker.Invoke("Import-Module MyModule");
// run the cmdlet defined in the module
invoker.Invoke("MyCmdlet");
}
Run Code Online (Sandbox Code Playgroud)
我不知道这是否是运行模块中定义的cmdlet的最佳方法(如果有更好的方法,请教我!).无论如何,如果我作为管理用户运行,这将完美地运行.我尝试将其作为网络服务运行,然而,我在RunspaceInvoke的构造函数中得到了一个不友好的错误:
不允许请求的注册表访问.
有没有办法可以将我的PowerShell cmdlet作为非提升用户运行,例如网络服务?我不需要或不希望访问注册表.cmdlet本身也不需要提升权限.
| 归档时间: |
|
| 查看次数: |
7581 次 |
| 最近记录: |