setClusterServiceAccountPassword 函数 (clusapi.h)

[此函数可用于“要求”部分中指定的操作系统。 Windows Server 2008 中删除了对此函数的支持,此函数不执行任何操作并返回 ERROR_CALL_NOT_IMPLEMENTED。]

更改所有可用群集节点上群集服务用户帐户的密码。 PCLUSAPI_SET_CLUSTER_SERVICE_ACCOUNT_PASSWORD类型定义指向此函数的指针。

语法

DWORD SetClusterServiceAccountPassword(
  [in]           LPCWSTR                      lpszClusterName,
  [in]           LPCWSTR                      lpszNewPassword,
  [in, optional] DWORD                        dwFlags,
  [out]          PCLUSTER_SET_PASSWORD_STATUS lpReturnStatusBuffer,
  [in, out]      LPDWORD                      lpcbReturnStatusBufferSize
);

参数

[in] lpszClusterName

NULL 结尾的 Unicode 字符串,用于指定群集的名称。

[in] lpszNewPassword

NULL 结尾的 Unicode 字符串,指定群集服务用户帐户的新密码。

[in, optional] dwFlags

CLUSTER_SET_PASSWORD_FLAGS 枚举中枚举的值的可选位域,其中包含描述如何将密码更新应用于群集的标志。

默认情况下, (dwFlags = 0) ,除非所有群集节点都可用,否则函数不会继续。

CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES (1 (0x1) )

导致 SetClusterServiceAccountPassword 函数继续运行,即使所有节点都不可用。 函数将尝试在尽可能多的节点上更改密码,但任何不处于 ClusterNodeUpClusterNodePaused 状态的节点 (请参阅 GetClusterNodeState) 将不会更新。

[out] lpReturnStatusBuffer

指向输出缓冲区的指针,该缓冲区接收描述每个群集节点的密码更新结果的 CLUSTER_SET_PASSWORD_STATUS 结构数组。 如果此参数不为 NULL ,并且缓冲区不够大,无法容纳生成的数据,则该函数将返回 ERROR_MORE_DATA 并将 lcpuReturnStatusBufferSize 设置为输出缓冲区所需的大小。 如果此参数为 NULL,则不会执行密码更新;函数会将 lcpuReturnStatusBufferSize 设置为所需的缓冲区大小,并返回 ERROR_SUCCESS

[in, out] lpcbReturnStatusBufferSize

输入时,指针指向指定输出缓冲区) 的大小 ((以字节为单位)的值。 在输出上,指向指定实际大小的值的指针, (以字节为单位) 生成的数据。 始终指定输出大小,即使 lpReturnStatusBufferNULL 也是如此。 此参数不能为 NULL

返回值

如果操作成功,函数将返回 ERROR_SUCCESS (0) 。

如果操作失败,该函数将返回 系统错误代码。 下面是可能的错误代码。

返回代码/值 说明
ERROR_ALL_NODES_NOT_AVAILABLE
5037 (0x13AD)
群集中的某些节点不可用, (即不在 ClusterNodeStateUpClusterNodeStatePaused 状态) ,并且 未设置CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES 标志。
ERROR_MORE_DATA
234 (0xEA)
lpReturnStatusBuffer 指向的输出缓冲区不够大,无法容纳生成的数据。

备注

默认情况下, SetClusterServiceAccountPassword 函数不执行任何操作,除非群集中的所有节点都可用, (即 ClusterNodeStateUpClusterNodeStatePaused 状态) 。 可以使用 CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES 标志替代此行为,但请注意,在手动更新该节点上的密码之前,无法更新密码的任何节点都将无法加入群集。

如果新密码与节点上的旧密码相同,则密码更新不会应用于该节点,并返回 ERROR_SUCCESS

此函数不会更新域控制器为群集服务用户帐户存储的密码。

不要从资源 DLL 调用 SetClusterServiceAccountPassword

要求

   
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2003 Datacenter、Windows Server 2003 Enterprise
目标平台 Windows
标头 clusapi.h
Library ClusAPI.lib
DLL ClusAPI.dll

另请参阅

CLUSTER_SET_PASSWORD_FLAGS

CLUSTER_SET_PASSWORD_STATUS

群集管理功能