这是我的代码段:
$s = New-PSSession -ComputerName dafwkn409c6c9 -Credential $mycreds
function Foo (){
Get-ChildItem C:\
Get-ChildItem d:\
}
function Foo1 (){
Get-ChildItem d:\
}
Invoke-Command -Session $s -ScriptBlock ${function:Foo}
Invoke-Command -Session $s -ScriptBlock ${function:Foo1}
功能Foo有2条线。 Foo1有1行。
但是当我将我的代码交给我的朋友,或者我在服务器上运行我的代码时,函数Foo会运行所有行。
这恰好发生在我的电脑上,我的foo功能只是跑到第一线。
请建议我的powershell ISE的修复地点。
但是当我安装dotnet 4.5时,此对话框会显示
答案 0 :(得分:1)
最后我将我的PS版更新到版本5.1
这是因为我猜5.0 bug's。那篇文章说:
重点是:
一般来说,v5应该安装在测试虚拟机中 至少,不在生产计算机上。玩的很棒 有了它,你应该绝对记录错误和建议 http://connect.microsoft.com
当我运行这段代码时:
$s = New-PSSession -ComputerName dafwkn409c6c9 -Credential $mycreds
function Foo (){
Get-ChildItem C:\
Get-ChildItem d:\
}
Invoke-Command -Session $s -ScriptBlock ${function:Foo}
功能上的所有代码都运行良好。
请使用Powershell 5.0 提防