首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell 2.0:从脚本运行远程会话与手动键入时获得不同的结果。有什么关系呢?

Powershell 2.0:从脚本运行远程会话与手动键入时获得不同的结果。有什么关系呢?
EN

Stack Overflow用户
提问于 2012-11-20 00:40:48
回答 1查看 281关注 0票数 1

从脚本运行远程会话与手动输入确切的命令序列时,我得到了不同的结果。这发生在我正在处理的一个相当复杂的脚本中,但我创建了一个很小的脚本来演示这个问题。返回的数字不应该是7-5-7,而不是7-5-5吗?

有问题的脚本

代码语言:javascript
复制
$oldMachineName = "ppal12084229"
$remoteSession = New-PSSession $oldMachineName

$xyz =7

"outside remote session"
$xyz
""

enter-PSSession $remoteSession
$xyz = 5

"inside remote session"
$xyz
""

exit-pssession

"outside remote session"
$xyz
""

remove-pssession $remoteSession

当我运行脚本时,我得到以下输出:

代码语言:javascript
复制
outside remote session
7

inside remote session
5

outside remote session
5

但是,当我手动输入命令时,我得到的结果是:

代码语言:javascript
复制
PS H:\> $oldMachineName = "ppal12084229"
PS H:\> $remoteSession = New-PSSession $oldMachineName
PS H:\> $xyz =7
PS H:\> $xyz
7
PS H:\> enter-PSSession $remoteSession
[ppal12084229]: PS C:\WINDOWS\system32> $xyz = 5
[ppal12084229]: PS C:\WINDOWS\system32> $xyz
5
[ppal12084229]: PS C:\WINDOWS\system32> exit-pssession
PS H:\> $xyz
7
PS H:\> remove-pssession $remoteSession

为什么我会得到不同的结果?

EN

回答 1

Stack Overflow用户

发布于 2012-11-20 01:20:12

Enter-PSSessionExit-PSSession是用于交互使用的。在你的脚本中尝试一下,看看你会得到什么:

代码语言:javascript
复制
$oldMachineName = "ppal12084229"
$remoteSession = New-PSSession $oldMachineName

$xyz =7

"outside remote session"
$xyz
""

invoke-command -Session $remoteSession -ScriptBlock {
     $xyz = 5

     "inside remote session"
     $xyz
     ""
}

"outside remote session"
$xyz
""

remove-pssession $remoteSession
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13458253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档