如何从PERL传递参数到Powershell并保留输出?

时间:2016-07-14 19:56:16

标签: perl powershell

我正在尝试通过PERL将参数传递给Powershell脚本,然后保留输出以供稍后在脚本中使用。我似乎无法让它发挥作用。

PERL

$var= 1000;

my @output = `powershell.exe C:\\Workspace\\Utilities\\pathtoscript.ps1`.` $var`;
foreach (@output)
{
   print $_;
}

powershell脚本似乎失败,就好像它没有收到参数一样。 powershell脚本应该使用该值并根据原始值确定新值,并将其传递回PERL以便稍后在PERL脚本中使用。

我附上了我尝试的另一个例子,它也在同一个

中失败了

替代脚本

$center = 1000;
print "Getting business unit...\n";
my $renamecmd = 'Powershell.exe -executionpolicy remotesigned -File C:\Workspace\Utilities\get_business_unit.ps1'." $center";
my @output = `$renamecmd`;
foreach (@output)
{
   print $_;
}

提前致谢!

1 个答案:

答案 0 :(得分:1)

我明白了...... 我还把它包裹在一个功能

sub getvalue{
print "Getting value...\n";
my $renamecmd = 'Powershell.exe -executionpolicy remotesigned -File C:\Workspace\Utilities\pathtofile.ps1'." $val";
my @output = `$renamecmd`;
foreach (@output) {
   print $_;
}
}