0

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

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

一些远程主机与我正在运行的机器加入了同一个域,这些主机失败了。一些远程主机是非域链接机器,并且为它们显式提供了凭据 - 在这种情况下,无论是直接调用还是从脚本调用,它们都可以工作。

错误是:

使用 Kerberos 身份验证时发生以下错误:当前没有可用于为登录请求提供服务的登录服务器。

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

4

1 回答 1

0

看来是我的错。

原来我使用了一个名为 $credentials 的变量来为 Invoke-Command 调用提供显式凭据。如果不需要明确的凭据,我会将其保留为 null。

不幸的是,我的调用脚本还创建了一个名为 $credentials 的变量来执行它正在做的一些事情,并且被调用的脚本从其父范围继承了该值 - 但新凭据对于域机器都是错误的,因此登录失败了。

我的powershell hacking很糟糕,感谢大家的帮助!

于 2011-10-19T11:04:42.910 回答