如何在perl脚本中编写此PowerShell cmdlet

时间:2017-06-19 15:26:47

标签: perl powershell

 invoke-command HOST01 { cmd /C dir /S /B D:\file1 }

如何在我尝试使用

的perl脚本中包含此命令

qx(invoke-command HOST01 { cmd /C dir /S /B D:\file1 })它不起作用,程序永远运行。

2 个答案:

答案 0 :(得分:0)

invoke-command HOST01 { cmd /C dir /S /B D:\file1 }不是shell(cmd)命令。这是一个PowerShell命令,因此您需要从调用PowerShell开始。

这是您从命令行运行的内容:

PowerShell -NoProfile -Command "Invoke-Command HOST01 { cmd /C dir /S /B D:\file1 }"

所以你想要:

qx{PowerShell -NoProfile -Command "Invoke-Command HOST01 { cmd /C dir /S /B D:\file1 }"}

答案 1 :(得分:-1)

我确信在Perl中运行外部程序已被多次询问和回答。

my @output = qx(powershell -NoProfile -Command "icm HOST01 { gci -n -rec D:\\file1 }");

foreach my $line (@output) {
    print $line;
}

my $output = qx(powershell -NoProfile -Command "icm HOST01 { gci -n -rec D:\\file1 }");

print $output;