我需要从 C# 执行几个 powershell 命令,我正在使用这段代码
Runspace rs = RunspaceFactory.CreateRunspace();
rs.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = rs;
ps.AddCommand("Add-PSSnapin").AddArgument("Citrix*");
ps.Invoke();
// other commands ...
这可以正常工作,但现在没有足够权限使用 powershell 的用户应该执行此应用程序。有没有办法使用不同的凭据执行 powershell 代码?我的意思是这样的
var password = new SecureString();
Array.ForEach("myStup1dPa$$w0rd".ToCharArray(), password.AppendChar);
PSCredential credential = new PSCredential("serviceUser", password);
// here I miss the way to link this credential object to ps Powershell object...