我想在远程Windows 2008机器上执行一些powershell命令。现在我正在使用psexec从c#asp.net应用程序运行powershell。我想知道是否有任何方法来执行powershell命令而不使用像psexec这样的第三方工具?有什么办法在windows 2008服务器上连接asp.net和powershell?
感谢,
dijo
我想在远程Windows 2008机器上执行一些powershell命令。现在我正在使用psexec从c#asp.net应用程序运行powershell。我想知道是否有任何方法来执行powershell命令而不使用像psexec这样的第三方工具?有什么办法在windows 2008服务器上连接asp.net和powershell?
感谢,
dijo
还有就是,使用
System.Management.Automation
类库和运行空间。见this MSDN article about creating Runspaces,这里有一个例子,从它在C#:
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
PowerShell powershell = PowerShell.Create();
powershell.Runspace = runspace;
powershell.AddCommand("Get-Process").AddArgument("wmi*");
foreach (PSObject result in powershell.Invoke())
{
Console.WriteLine("{0,-20}{1}", result.Members["ProcessName"].Value, result.Members["Id"].Value);
}
runspace.Close();
使用WS-Management this can also be done for a remote host。
我创建了一个web应用程序来执行powershell脚本 - 它可能会帮助你 - http://psadmin.codeplex.com