从C#代码触发PowerShell中模拟用户
我正在使用c#调用powershell脚本,该脚本中包含应作为特定用户运行的内容从C#代码触发PowerShell中模拟用户,c#,powershell,impersonation,C#,Powershell,Impersonation,我正在使用c#调用powershell脚本,该脚本中包含应作为特定用户运行的内容 我有一个模拟完成逻辑的C#实现,根据 我的实现代码有问题,如下所示: PSInvocationSettings settings = new PSInvocationSettings(); settings.FlowImpersonationPolicy = true; //settings.ErrorActionPreference = ActionPreference.Stop; IEnumerable inp
PSInvocationSettings settings = new PSInvocationSettings();
settings.FlowImpersonationPolicy = true;
//settings.ErrorActionPreference = ActionPreference.Stop;
IEnumerable input = null;
resultsfromps = ps.Invoke<PSObject>(input, settings);
PSInvocationSettings设置=新的PSInvocationSettings();
settings.FlowImpersonationPolicy=true;
//settings.ErrorActionPreference=ActionPreference.Stop;
IEnumerable输入=null;
resultsfromps=ps.Invoke(输入、设置);
PSInvocationSettings
、flowimpersonationPolicy
、ps.Invoke
执行了几行操作,但我不确定应该为输入变量设置什么值
因此,代码排序是有效的,它正在创建一个powershell调用,但脚本出现在运行中,但用户名和密码为空
感谢您的帮助 不久前,我面临着一个类似的任务。这篇文章帮了我很大的忙:它或多或少是复制粘贴来让代码正常工作的。模拟并不能给你一个密码。你的PowerShell命令需要一个吗?Rob:那代码从C#的角度解决模拟问题。但这并没有转发powershell脚本所需的用户凭据。(我仍然看到它在应用程序帐户上运行,尽管我在模拟上下文块下调用(在撤消之前)Bmm60:Powershell脚本需要管理员权限,因为默认情况下,我的应用程序使用较低的用户运行脚本。如前所述,我使用了链接中的代码,但它不会模拟PS.invoke()中脚本的上下文。)那么,“但是用户名和密码都是空的”是什么意思呢?又一个坏掉的Microsoft支持链接…support.Microsoft.com/default.aspx?scid=kb;en us;Q306158#4