Enter-PSSession在我的Powershell脚本中不起作用

时间:2010-09-14 00:15:23

标签: powershell powershell-remoting

当我从脚本运行下面的行时,文件最终会在我的本地计算机上创建。

$cred = Get-Credential domain\DanTest
Enter-PSSession -computerName xsappb01 -credential $cred

New-Item -type file c:\temp\blahxsappk02.txt

exit-pssession

当我从powershell控制台单独运行每一行时,将正确创建远程会话,并在远程计算机上创建该文件。有什么想法吗?时间问题是脚本吗?

1 个答案:

答案 0 :(得分:63)

不确定是否是计时问题。我怀疑它更像是Enter-PSSession正在调用类似嵌套提示的东西而后续命令没有在其中执行。无论如何,我相信Enter / Exit-PSSession是用于交互式使用 - 而不是脚本使用。对于脚本,使用New-PSSession并将该会话实例传递给Invoke-Command,例如:

$cred = Get-Credential domain\DanTest 
$s = New-PSSession -computerName xsappb01 -credential $cred
Invoke-Command -Session $s -Scriptblock {New-Item -type file c:\temp\blah.txt}
Remove-PSSession $s