我对我创建的脚本有一个奇怪的问题。
它在几个不同的远程主机上执行各种操作。直接从命令行调用时,它可以完美地工作。但是,当从另一个脚本(使用'&'或'。'运算符)调用脚本时,某些远程计算机将失败。
某些远程主机与我正在运行的计算机连接到同一个域,并且这些主机发生故障。一些远程主机是非域链接的机器,并且为它们显式提供了凭证 - 在这种情况下,无论是直接调用还是从脚本调用它们都可以工作。
错误是:
使用Kerberos身份验证时出现以下错误:那里 目前没有可用于登录请求的登录服务器。
直接调用脚本或从不同的脚本调用脚本有什么区别?我该如何解决这个问题?
答案 0 :(得分:0)
看起来这是我的错。
原来我使用了一个名为$ credentials的变量来为Invoke-Command调用提供显式凭据。如果不需要明确的凭证,我就把它留空了。
不幸的是,我的调用脚本还创建了一个名为$ credentials的变量来执行它正在执行的操作,并且被调用的脚本继承了其父作用域的值 - 但是新的凭据对于域计算机而言都是错误的因此登录失败了。
Bad powershell hacking对我而言,谢谢你的帮助!