我有一个群集的DNS名称,该群集上几乎没有运行服务的节点。 我首先写了powershell脚本,它给了我提供服务的节点及其状态。脚本使用Get-ClusterResource命令 然后我编写了执行此PowerShell的python脚本。 当我运行powershell脚本时,我得到节点及其状态。但是当我从python中删除powershell脚本时,我收到的错误是:
Get-ClusterResource : The term 'Get-ClusterResource' is not recognized as the
name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is
correct and try again.
我尝试使用import-module failovercluster
但未获得成功。
请让我知道我错在哪里,如果不可能,那么我正在寻找python lib来实现同样的目标。
关于群集的我很少有人理解:
- 我们无法create PSSession
群集。
我正在以这种方式运行powershell脚本:
subprocess.check_output(["powershell.exe", '-ExecutionPolicy', 'Unrestricted', self.win_cluster_handling() + " -Cluster_Name " + self.cluster_name + " -ClusterNode_Action Stop-Cluster" + " -Service_Name " + self.service_name + " -Username " + self.username + " -Password " + self.password])
答案 0 :(得分:1)
答案 1 :(得分:0)
重新阅读您的描述,问题发生在您从Python调用的Powershell脚本中。在你的Powershell脚本中,你可以编写一些行来确定脚本是否运行时使用相同的环境varialbes,PATH等,就像正常运行Powershell一样。
例如,如果您从Powershell运行:“Get-ChildItem Env:”,它会为您提供一个环境变量列表。您可以在powershell脚本中包含相同内容,并检查脚本中运行的那些是否相同或者是否缺少某些内容。