使用 Powershell 创建 Windows 集群

Posted

技术标签:

【中文标题】使用 Powershell 创建 Windows 集群【英文标题】:Creating Windows Cluster with Powershell 【发布时间】:2019-11-27 10:17:18 【问题描述】:

我有一个 Windows 集群配置脚本。我无法以管理员身份执行 New-Cluster 命令。它说用户应该是能够执行命令的域用户。

我正在尝试使用 PSExec 以域用户身份登录并尝试该命令是否有效,但仍然没有成功。

C:\Users\Administrator\Desktop\PSTools\PsExec.exe -s -u name -p "pass" -accepteula cmd /c "powershell -noprofile & Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File"C:\scripts\cluster-config.ps1" " -Verb RunAs; exit "

(我在执行时正确传递了参数)

cluster-config.ps1

param(
[Parameter(Mandatory=$true)][string]$clusterName,
[Parameter(Mandatory=$true)][string]$srv1,
[Parameter(Mandatory=$true)][string]$srv2,
[Parameter(Mandatory=$true)][string]$clusterIP
)

#Create and configure the WinCluster
New-Cluster -Name $clusterName -Node $srv1,$srv2 -StaticAddress $clusterIP -AdministrativeAccessPoint ActiveDirectoryAndDns

如何以广告管理员的身份创建 Windows 集群?不幸的是,无法使用域用户凭据直接登录。

【问题讨论】:

关于集群创建的问题不在 SO 中,请尝试使用 ServerFault。 好的。我会在服务器故障中重新发布问题并删除问题。 【参考方案1】:

为了创建新的集群,您需要拥有能够在 Active Directory 中创建新集群计算机帐户的权限。普通域用户无权在 Active Directory 中创建新的计算机帐户,除非他们拥有委派的权限。

您的声明“无法使用域用户凭据直接登录”根本不可能。 Active Directory 中的集群在 Active Directory 中创建物理计算机帐户。如果您无权访问/未登录 Active Directory,则无法创建集群。

通常对于集群,域管理员必须首先创建集群(从而创建适当的计算机帐户)。然后使用新创建的帐户,委托访问。一旦集群被委派了适当的权限,如果可以创建所需的计算机帐户来创建集群所需的角色。

    使用域管理员登录创建集群。这将创建初始 Active Directory 计算机帐户。 在 Active Directory 中,我们需要委派对计算机帐户和配置的集群名称 CLUSTERNAME 的控制权,以将计算机添加到域(以便它有权将资源添加到 AD): Active Directory 用户和计算机 -> 右键单击​​域 -> 委派控制 输入计算机名称 - CLUSTERNAME 委派以下常见任务 -> 将计算机加入域

【讨论】:

感谢您的回答。集群的创建是自动化的一部分。因此域用户无法在自动化过程中登录机器。域用户拥有所有管理员权限。我正在尝试使用 PSExec 使用域用户帐户登录到机器 是的,您需要是计算机的管理员。问题在于,为了完全创建集群,您还需要能够在 Active Directory 中创建一个计算机帐户。默认情况下,域管理员可以执行此操作。如果您需要普通域用户才能创建群集计算机帐户,您可以按照上述相同步骤进行操作,但您可以将这些权限委派给域用户帐户,而不是委派计算机帐户加入域的权限。此外,您可以委托给特定的 OU 级别(即您不必在域的根目录上执行此操作)

以上是关于使用 Powershell 创建 Windows 集群的主要内容,如果未能解决你的问题,请参考以下文章

windows azure使用powershell批量创建虚拟机

如何在 Powershell 中为“网络服务”帐户创建 Windows 服务?

PowerShell 批量创建用户用户组到所有Windows系统

PowerShell 批量创建用户用户组到所有Windows系统

PowerShell 批量创建用户用户组到所有Windows系统

在 windows 10 powershell 中使用 sqlplus 执行 sql 文件