Функция 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, указывающая имя кластера.
[in] lpszNewPassword
Строка Юникода с завершением NULL, указывающая новый пароль для учетной записи пользователя службы кластеров.
[in, optional] dwFlags
Необязательное битовое поле значений, перечисляемых из перечисления CLUSTER_SET_PASSWORD_FLAGS , содержащее флаги, описывающие способ применения обновления пароля к кластеру.
По умолчанию (dwFlags = 0) функция не будет продолжать работу, если не будут доступны все узлы кластера.
CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES (1 (0x1))
Вызывает выполнение функции SetClusterServiceAccountPassword , даже если все узлы недоступны. Функция попытается изменить пароль на максимально возможном количестве узлов, но все узлы, не в состоянии ClusterNodeUp или ClusterNodePaused (см. GetClusterNodeState) не будут обновлены.
[out] lpReturnStatusBuffer
Указатель на выходной буфер, который получает массив CLUSTER_SET_PASSWORD_STATUS структур, описывающих результат обновления пароля для каждого узла кластера. Если этот параметр не равен NULL и буфер недостаточно велик для хранения результирующих данных, функция возвращает ERROR_MORE_DATA и задает для lpcbReturnStatusBufferSize необходимый размер выходного буфера. Если этот параметр имеет значение NULL, обновление пароля выполняться не будет; функция присвоит lpcbReturnStatusBufferSize необходимый размер буфера и вернет ERROR_SUCCESS.
[in, out] lpcbReturnStatusBufferSize
На входных данных указатель на значение, указывающее размер (в байтах) выходного буфера. В выходных данных указатель на значение, указывающее фактический размер результирующей информации (в байтах). Размер выходных данных всегда указывается, даже если lpReturnStatusBuffer имеет значение NULL. Этот параметр не может иметь значение NULL.
Возвращаемое значение
Если операция выполнена успешно, функция возвращает ERROR_SUCCESS (0).
Если операция завершается сбоем, функция возвращает код системной ошибки. Ниже приведены возможные коды ошибок.
Возвращаемый код/значение | Описание |
---|---|
|
Некоторые узлы в кластере недоступны (то есть не находятся в состояниях ClusterNodeStateUp или ClusterNodeStatePaused ), а флаг CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES не установлен. |
|
Выходной буфер, на который указывает lpReturnStatusBuffer , не был достаточно велик для хранения результирующей данных. |
Комментарии
По умолчанию функция SetClusterServiceAccountPassword не выполняет никаких действий, пока не доступны все узлы в кластере (то есть в состояниях ClusterNodeStateUp или ClusterNodeStatePaused ). Вы можете использовать флаг CLUSTER_SET_PASSWORD_IGNORE_DOWN_NODES , чтобы переопределить это поведение, но обратите внимание, что любой узел, которому не удалось обновить пароль, не сможет присоединиться к кластеру, пока пароль не будет обновлен вручную на этом узле.
Если новый пароль совпадает со старым паролем на узле, обновление пароля не применяется к узлу и возвращается ERROR_SUCCESS .
Эта функция не обновляет пароль, хранящийся контроллерами домена для учетной записи пользователя службы кластеров.
Не вызывайте SetClusterServiceAccountPassword из библиотеки DLL ресурса.
Требования
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2003 Datacenter, Windows Server 2003 Корпоративная |
Целевая платформа | Windows |
Header | clusapi.h |
Библиотека | ClusAPI.lib |
DLL | ClusAPI.dll |