0

我正在尝试New-Cluster通过 staf 运行命令以在(Windows server 2012 R2,已启用角色)上创建集群,failovercluster并且 PowerShell 版本为 3.0。

尝试了 2 种不同的方法,但没有一个对我有用。当我将会话参数传递给时Invoke-Command,它能够找到New-Clustercmdlet,但是当我尝试不使用会话时,它无法找到 cmdlet。

以下是这两种方法的片段:

  1. 工作人员“启动shell命令”方式:
    当我使用此方法时,遇到如下错误:

    staf <Server-IP> process START SHELL COMMAND :187:Invoke-Command -ScriptBlock
    

    我得到的错误如下所示:

    New-Cluster:术语“New-Cluster”不被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

  2. 使用 PSSESSION 方式:

    staf <Server-IP> process START SHELL  COMMAND :221:$ps = New-PSSession; Invoke-Command -session $ps -ScriptBlock
    

    New-Cluster命令执行,但失败并出现错误,如下所示:

    New-Cluster:无法确定计算机“<CLUSTER-NAME>”是否存在于
    域“<DOMAIN-NAME>”。
    + CategoryInfo : NotSpecified: (New-Cluster : U...XXXXXXXX'.:String) [], RemoteException
        + FullyQualifiedErrorId : NativeCommandError
        + PSComputerName:本地主机
    
    发生操作错误。
    在 C:\XXXXXX.ps1:7 字符:1
    + 新集群 -Name $cluster -Node $nodes -StaticAddress $staticaddress
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo : NotSpecified: (:) [New-Cluster], ClusterCmdletException
        + FullyQualifiedErrorId : New-Cluster,Microsoft.FailoverClusters.PowerShell.NewClusterCommand

我不想使用会话参数,有什么方法可以使用非默认模块进行远程命令调用?有人可以建议我是否缺少任何需要的输入,或者请建议我是否应该尝试其他方法来达到预期的结果。

4

1 回答 1

0

这里的要点如下:

  1. 您要从中创建 WSFC 的计算机必须是域的一部分。
  2. 重要的是,该New-Cluster命令应该作为属于域的用户而不是本地帐户运行。

以域帐户运行 powershell 脚本:

Import-Module FailoverClusters New-Cluster -Name SomeCluster -Node <NodeName>

于 2018-05-22T08:04:14.170 回答