无法从独立服务器运行PowerShell群集cmdlet

时间:2017-09-05 06:07:43

标签: powershell powershell-v4.0 failovercluster

我有一个终端服务器,它是一个独立服务器和4个数据库服务器(远程服务器),它们使用Windows故障转移群集管理器。我需要获取所有数据库服务器的集群状态,而我正在使用的命令是

Get-ClusterGroup -Cluster ClusterServerName

虽然从其中一个数据库服务器运行时此命令工作正常,但如果我尝试从终端服务器执行相同的命令,则会出现以下错误:

  

Get-ClusterGroup:术语' Get-ClusterGroup'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试   试。

我已经检查了终端服务器和远程计算机的PowerShell版本,它们是相同的(v4.0)。有没有办法可以从终端服务器本身运行上面的命令?

3 个答案:

答案 0 :(得分:2)

独立服务器未安装故障转移群集模块。您可以从服务器管理器中的角色和功能菜单进行安装。它将在功能页面中。一旦安装,你的错误就不会再出现了。

在PowerShell 3.0及更高版本中,您不必显式加载模块。一旦调用模块中的命令,它将自动加载。

答案 1 :(得分:1)

与Windows故障转移群集关联的cmdlet是名为FailoverClusters的模块的一部分。首次启动PowerShell时,默认情况下不会加载此模块,即使是从群集节点的控制台也是如此。要加载此cmdlet:

Import-Module FailoverClusters

您始终可以使用

获取可用模块的列表
Get-Module -ListAvailable

如果模块不存在,那么你应该下载它,然后导入psm1文件

还要查看文档:

FailOver Cluster Module Usage

希望有所帮助

答案 2 :(得分:0)

我不确定接受的答案是否适用于较旧的版本,但是对于Powershell 5.1.x上的我来说,这是必需的:

Import-Module Microsoft.SME.FailoverCluster