通过命令提示符调用PowerShell不允许使用管道“|”

时间:2013-11-06 23:02:35

标签: powershell

通过命令提示符调用PowerShell不允许使用Pipe“|”。举个简单的例子,下面没有选择“FullName”

C:>powershell -ExecutionPolicy RemoteSigned -noprofile -noninterac
tive Invoke-Command -Computer Remote.Computer -ScriptBlock { Import-Module
'C:\Scripts\RunVirtualMachineManager.ps1'; ls " | select FullName" }

2 个答案:

答案 0 :(得分:2)

我无法测试,但这看起来更好:

powershell -ExecutionPolicy RemoteSigned -noprofile -noninteractive "Invoke-Command -Computer Remote.Computer -ScriptBlock { Import-Module 'C:\Scripts\RunVirtualMachineManager.ps1'; ls | select FullName }"

您尝试导入的模块不应该以.psm1结尾吗?

例如,这对我有用:

powershell -Executionpolicy RemoteSigned -noprofile -noninteractive "Get-Process | Select ProcessName"

您要运行的命令(包括管道)都在引号内。

答案 1 :(得分:0)

以下清理版本适合我们(使用'select count'示例): C:> powershell -ExecutionPolicy RemoteSigned -noprofile -noninteractive“& {Invoke-Command -Computer Remote.Computer -ScriptBlock {Import-Module'C:\\。ps1'| Out-Null; | select Count | Format-List }}“