C# 如何设置powershell命令的参数

C# 如何设置powershell命令的参数,c#,powershell,C#,Powershell,我需要在C#代码中执行带有参数的控制台命令powershell脚本并捕获结果。 目前我有以下代码: private void PowershellMethod(string userSID) { using (PowerShell ps = PowerShell.Create()) { ps.AddCommand("Set-ExecutionPolicy") .Ad

我需要在C#代码中执行带有参数的控制台命令powershell脚本并捕获结果。 目前我有以下代码:

private void PowershellMethod(string userSID)
        {
            using (PowerShell ps = PowerShell.Create())
            {
                ps.AddCommand("Set-ExecutionPolicy")
                  .AddParameter("ExecutionPolicy", "Bypass")
                  .AddParameter("Scope", "Process")
                  .AddParameter("Force")

                ps.AddScript(@"C:\\Users\\HP\\Desktop\\HotelMode-PB\\HotelMode.ps1");

                Collection<PSObject> result = ps.Invoke();
                foreach (var outputObject in result)
                {
                    // outputObject contains the result of the powershell script
                    Debug.WriteLine(outputObject.ToString());

                }
            }
        }
private void powershell方法(字符串userSID)
{
使用(PowerShell ps=PowerShell.Create())
{
ps.AddCommand(“设置执行策略”)
.AddParameter(“ExecutionPolicy”、“Bypass”)
.AddParameter(“范围”、“过程”)
.AddParameter(“力”)
ps.AddScript(@“C:\\Users\\HP\\Desktop\\HotelMode PB\\HotelMode.ps1”);
收集结果=ps.Invoke();
foreach(结果中的var outputObject)
{
//outputObject包含powershell脚本的结果
Debug.WriteLine(outputObject.ToString());
}
}
}
我的意图是执行此命令:

HotelMode.ps1-UserSid“user sid number”[-debug]


如何在附加的代码中设置它?

AddScript()之后使用
AddParameter(“UserSid”,UserSid)。AddParameter(“Debug”)
。我想知道它在我的箱子里到底应该是什么样子,你能写下来吗?我丢失了一点.ps.AddCommand(“Set ExecutionPolicy”).AddParameter(“ExecutionPolicy”、“Bypass”).AddParameter(“Scope”、“Process”).AddParameter(“Force”).AddStatement().AddCommand(“xxx”).AddScript(@“C:\\Users\\HP\\Desktop\\HotelMode PB\\HotelMode.ps1”).AddParameter(“UserSid”,UserSid)。AddParameter(“Debug”);这就是你的意思吗?@PetSerAl你应该添加一个回答者,他会得到我的分数:-)使用
AddParameter(“UserSid”,UserSid)。AddParameter(“Debug”)
AddScript()之后。
oops.我想知道在我的情况下它到底应该是什么样子,你能写一下吗?我丢失了一点.ps.AddCommand(“Set ExecutionPolicy”).AddParameter(“ExecutionPolicy”,“Bypass”).AddParameter(“Scope”,“Process”).AddParameter(“Force”).AddStatement().AddCommand(“xxx”).AddScript(@“C:\\Users\\HP\\Desktop\\HotelMode PB\\HotelMode.ps1”).AddParameter(“UserSid”,UserSid).AddParameter(“调试”);这就是你的意思吗?@PetSerAl你应该添加一个回答者,他会给出最后的回答,他会从我那里得到分数:-)