我正在尝试使用Start.Proccess,
从c#执行Powershell自定义函数我知道我们应该使用Powershell类来执行powershell脚本,但我遇到了x86,x64平台的问题,因为我在安装项目使用的自定义操作中调用Powershell脚本。
那么你能告诉我如何使用Start.Process调用Powershell自定义函数吗?
在powershell中,您需要首先使用“.. [scriptPath]”加载函数,然后调用该函数,但在C#中我不知道该怎么做。
答案 0 :(得分:0)
如果您可以控制函数脚本,只需从脚本中调用该函数,这样可以更容易地从PowerShell.exe调用,例如:
-- script.ps1 --
function DoAction($p1, $p2) {
...
}
DoAction someArg anotherArg
然后调用脚本:
string sysdir = Environment.GetFolderPath(Environment.SpecialFolderPath.System);
Process.Start(sysdir + "\WindowsPowerShell\v1.0\Powershell.exe", "-Command \"& {" + <path-to-script> + "}\"");