NetSetPrimaryComputerName 函数 (lmjoin.h)

NetSetPrimaryComputerName 函数设置指定计算机的主计算机名称。

语法

NET_API_STATUS NET_API_FUNCTION NetSetPrimaryComputerName(
  [in, optional] LPCWSTR Server,
  [in]           LPCWSTR PrimaryName,
  [in, optional] LPCWSTR DomainAccount,
  [in, optional] LPCWSTR DomainAccountPassword,
  [in]           ULONG   Reserved
);

参数

[in, optional] Server

指向常量字符串的指针,该常量字符串指定要在其中执行此函数的计算机的名称。 如果此参数为 NULL,则使用本地计算机。

[in] PrimaryName

指向常量字符串的指针,该常量字符串指定要设置的主名称。 此名称必须采用完全限定的 DNS 名称的形式。

[in, optional] DomainAccount

指向常量字符串的指针,该常量字符串指定用于访问 Active Directory 中的 Server 参数中指定的计算机的计算机帐户对象。 如果此参数为 NULL,则使用执行此例程的用户的凭据。

如果执行此函数的服务器未加入域,则不使用此参数。

[in, optional] DomainAccountPassword

指向常量字符串的指针,该常量字符串指定与 DomainAccount 参数中传递的域帐户匹配的密码。 如果此参数为 NULL,则使用执行此例程的用户的凭据。

如果 DomainAccount 参数为 NULL,则忽略此参数。 如果执行此函数的服务器未加入域,则不使用此参数。

[in] Reserved

保留供将来使用。 此参数应为 NULL

返回值

如果函数成功,则返回值NERR_Success。

如果函数失败,则返回值可以是以下错误代码之一或 系统错误代码之一。

返回代码 说明
ERROR_ACCESS_DENIED
访问被拒绝。 如果调用方不是目标计算机上的 Administrators 本地组的成员,则返回此错误。
ERROR_INVALID_NAME
名称参数不正确。 如果 PrimaryName 参数不包含有效名称,则返回此错误。
ERROR_INVALID_PARAMETER
参数不正确。 如果 DomainAccount 参数不包含有效域,则返回此错误。 如果 DomainAccount 参数不为 NULLDomainAccountPassword 参数不为 NULL ,但不包含 Unicode 字符串,也会返回此错误。
ERROR_NOT_ENOUGH_MEMORY
内存不足,无法处理此命令。
ERROR_NOT_SUPPORTED
不支持该请求。 如果执行此函数的 Server 参数中指定的目标计算机在 Windows 2000 及更早版本上运行,则返回此错误。
NERR_WkstaNotStarted
工作站服务尚未启动。
RPC_S_CALL_IN_PROGRESS
此线程的远程过程调用已在进行中。
RPC_S_PROTSEQ_NOT_SUPPORTED
不支持远程过程调用协议序列。

注解

Windows XP 及更高版本支持 NetSetPrimaryComputerName 函数。

NetSetPrimaryComputerName 函数用作计算机重命名操作的一部分。 指定的名称将从为目标计算机配置的备用名称列表中删除,并配置为主名称。 计算机帐户名称将更改为与主名称匹配。 以前的主计算机名称将移动到为计算机配置的备用计算机名称列表。

NetSetPrimaryComputerName 函数要求调用方是目标计算机上的 Administrators 本地组的成员。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 lmjoin.h (包括 Lm.h)
Library Netapi32.lib
DLL Netapi32.dll

另请参阅

NetAddAlternateComputerName

NetEnumerateComputerNames

NetJoinDomain

NetRemoveAlternateComputerName

NetRenameMachineInDomain

NetUnjoinDomain

SetComputerNameEx