通过命令提示符调用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" }
答案 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 }}“