从另一个脚本调用时,远程脚本失败

时间:2011-10-19 08:28:04

标签: powershell powershell-v2.0 powershell-remoting

我对我创建的脚本有一个奇怪的问题。

它在几个不同的远程主机上执行各种操作。直接从命令行调用时,它可以完美地工作。但是,当从另一个脚本(使用'&'或'。'运算符)调用脚本时,某些远程计算机将失败。

某些远程主机与我正在运行的计算机连接到同一个域,并且这些主机发生故障。一些远程主机是非域链接的机器,并且为它们显式提供了凭证 - 在这种情况下,无论是直接调用还是从脚本调用它们都可以工作。

错误是:

  

使用Kerberos身份验证时出现以下错误:那里   目前没有可用于登录请求的登录服务器。

直接调用脚本或从不同的脚本调用脚本有什么区别?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

看起来这是我的错。

原来我使用了一个名为$ credentials的变量来为Invoke-Command调用提供显式凭据。如果不需要明确的凭证,我就把它留空了。

不幸的是,我的调用脚本还创建了一个名为$ credentials的变量来执行它正在执行的操作,并且被调用的脚本继承了其父作用域的值 - 但是新的凭据对于域计算机而言都是错误的因此登录失败了。

Bad powershell hacking对我而言,谢谢你的帮助!