C# Powershell可以';无法通过wcf查看变量
我有一个powershell脚本,可以创建azure vm,并在服务器上安装Microsoft Dynamics Nav等等。脚本设置一组变量,然后调用下标 我可以通过管道从C#调用这个脚本,没有问题。虚拟机被创建,所有的一切 但是,如果我创建一个WCF客户机和服务,并且该服务创建管道并执行脚本,那么就会出现一个主要问题 不知何故,下标并不知道所有的变量 简言之:如果调用直接来自控制台程序,而如果调用通过wcf,我的脚本如何工作得完美 Ps:这不是一个关于权限的问题,因为wcf服务由IIS托管并在管理员帐户下运行 这就是我在wcf和Direct project中调用脚本的方式C# Powershell可以';无法通过wcf查看变量,c#,wcf,powershell,azure,powershell-2.0,C#,Wcf,Powershell,Azure,Powershell 2.0,我有一个powershell脚本,可以创建azure vm,并在服务器上安装Microsoft Dynamics Nav等等。脚本设置一组变量,然后调用下标 我可以通过管道从C#调用这个脚本,没有问题。虚拟机被创建,所有的一切 但是,如果我创建一个WCF客户机和服务,并且该服务创建管道并执行脚本,那么就会出现一个主要问题 不知何故,下标并不知道所有的变量 简言之:如果调用直接来自控制台程序,而如果调用通过wcf,我的脚本如何工作得完美 Ps:这不是一个关于权限的问题,因为wcf服务由IIS托管并
string path = "absolute path to script.ps1"
Runspace runSpace = RunspaceFactory.CreateRunspace();
runSpace.Open();
try
{
RunspaceInvoke runSpaceInvoker = new RunspaceInvoke(runSpace);
runSpaceInvoker.Invoke("Set-ExecutionPolicy Unrestricted");
Pipeline pipeLine = runSpace.CreatePipeline();
Command myCommand = new Command(path);
param = new CommandParameter("some value","some value")
myCommand.Parameters.Add(param);
pipeLine.Commands.Add(myCommand);
var results = pipeLine.Invoke();
runSpace.Close();
return true;
}
catch (Exception)
{
runSpace.Close();
return false;
}
欢迎来到StackOverflow!我不习惯使用powershell,但是对于那些可能帮助您的人来说,在您的问题中添加一些代码肯定会有所帮助。问题是,如果您直接从项目中调用脚本,那么脚本工作得非常完美。如果在powershell ISE(Microsoft的编辑器)中打开脚本并在那里运行,也不会出现问题。问题是,这些下标没有访问全局变量的权限。直接调用脚本和通过wcf调用脚本的代码是相同的。唯一的区别是,一个调用直接调用脚本,另一个调用通过wcf服务。包含用于生成Powershell脚本的代码可能会有所帮助。对于C#和WCF来说,我们都会来到StackOverflow!我不习惯使用powershell,但是对于那些可能帮助您的人来说,在您的问题中添加一些代码肯定会有所帮助。问题是,如果您直接从项目中调用脚本,那么脚本工作得非常完美。如果在powershell ISE(Microsoft的编辑器)中打开脚本并在那里运行,也不会出现问题。问题是,这些下标没有访问全局变量的权限。直接调用脚本和通过wcf调用脚本的代码是相同的。唯一的区别是,一个调用直接调用脚本,另一个调用通过wcf服务。包含用于生成Powershell脚本的代码可能会有所帮助。对于C#和WCF