【发布时间】:2015-12-23 12:59:13
【问题描述】:
我正在尝试重新启动远程服务器上的 iis 应用程序池。首先我想停止应用程序池但是我得到了一个
无法转换“{ Stop-WebAppPool -Name "BaymentPool" }" 的值 键入“System.String”以键入 “System.Management.Automation.ScriptBlock”。
异常
public void StopAppPool()
{
Runspace runSpace = RunspaceFactory.CreateRunspace();
runSpace.Open();
Pipeline pipeline = runSpace.CreatePipeline();
Command invokeCmd = new Command("Invoke-Command");
invokeCmd.Parameters.Add("ComputerName","IISC02");
invokeCmd.Parameters.Add("ScriptBlock","{ Stop-WebAppPool -Name \"BaymentPool\" }");
pipeline.Commands.Add(invokeCmd);
Collection<PSObject> output = pipeline.Invoke();
foreach (PSObject psObject in output)
{
Process process = (Process)psObject.BaseObject;
Console.WriteLine("Process name: " + process.ProcessName);
}
}
我无法完全理解我做错了什么。我知道我需要单独添加每个参数,我想我正在这样做,但是它仍然会抱怨。
【问题讨论】:
标签: c# powershell-3.0