我有一个终端服务器,该服务器是独立服务器和4个使用Windows故障转移群集管理器的4个数据库服务器(远程服务器)。我需要获得所有DB服务器的群集状态,而我正在使用的命令是
Get-ClusterGroup -Cluster ClusterServerName
虽然从数据库服务器之一运行时,此命令正常工作,但如果我尝试从终端服务器执行相同的命令,则会给出以下错误:
get-clusterGroup:术语" get-clusterGroup"术语不被认为是CMDLET,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包括路径,请验证该路径是否正确并尝试 再次。
我已经检查了终端服务器和远程计算机的PowerShell版本,它们相同(v4.0)。我可以从终端服务器本身运行上述命令吗?
独立服务器没有安装故障转移集群模块。您可以在服务器管理器中的角色和功能菜单中安装它。它将在功能页面中。安装后,您的错误将不会再次显示。
在PowerShell版本3.0及更高版本中,您不必显式加载模块。一旦调用模块的命令,它将自动加载。
与Windows故障转移群集关联的CMDLET是一个称为DifleoverClusters的模块的一部分。默认情况下,当您首次启动PowerShell时,即使是从群集节点的控制台开始,该模块也不会加载。加载此cmdlet:
Import-Module FailoverClusters
您随时可以使用
获取可用模块的列表Get-Module -ListAvailable
如果不存在模块,则应下载它,然后进行PSM1文件的导入
也为此浏览文档:
故障转移集群模块使用
希望它有帮助
我不确定接受的答案是否正确适合较旧版本,但对我的PowerShell 5.1.x而言,这是需要的:
Import-Module Microsoft.SME.FailoverCluster