只有简单的参数可以通过-ArgumentList 来传输,VMSnapshot应当不支持。
至于你说的不想定义多次的问题,可以这样来处理:
#将函数内容定义成脚本块 $myLocalFunc={ param($a,$b) "$a+$b=$($a+$b)" } #在本地调用执行脚本块 & $myLocalFunc 10 9 #在远程机器调用执行脚本块 #这样避免同样的脚本块重复定义多次 Invoke-Command -ScriptBlock $myLocalFunc -ComputerName pstips.net -ArgumentList 10,9