Win32_NetworkAdapterConfiguration 类的 EnableStatic 方法

EnableStaticWMI 类方法启用目标网络适配器的静态 TCP/IP 寻址。 因此,此网络适配器的 DHCP 处于禁用状态。

本主题使用托管对象格式 (MOF) 语法。 有关使用此方法的详细信息,请参阅 调用方法

语法

uint32 EnableStatic(
  [in] string IPAddress[],
  [in] string SubnetMask[]
);

参数

IPAddress [in]

列出当前网络适配器的所有静态 IP 地址。

示例:155.34.22.0。

SubnetMask [in]

IPAddress 参数中的值进行补充的子网掩码。

示例:255.255.0.0。

返回值

如果不需要重新启动,则返回一个值 0 (零) 的成功完成,在需要重新启动时返回 1 (一个) ,如果出现错误,则返回任何其他数字。 有关错误代码的详细信息,请参阅 WMI 错误常量WbemErrorEnum。 有关常规 HRESULT 值,请参阅 系统错误代码

成功完成,无需重启

0

成功完成,无需重启。

成功完成,需要重新启动

1

成功完成,需要重新启动。

此平台上不支持的方法

64

此平台不支持方法。

未知失败

65

未知失败。

子网掩码无效

66

子网掩码无效。

处理返回的实例时出错

67

处理返回的实例时出错。

无效的输入参数

68

输入参数无效。

指定的网关数超过 5 个

69

指定的网关超过 5 个。

无效的 IP 地址

70

IP 地址无效。

网关 IP 地址无效

71

网关 IP 地址无效。

访问注册表以获取请求的信息时出错

72

访问注册表以获取请求的信息时出错。

无效的域名

73

无效的域名。

主机名无效

74

主机名无效。

未定义主/辅助 WINS 服务器

75

未定义主 WINS 服务器或辅助 WINS 服务器。

文件无效

76

文件无效。

系统路径无效

77

系统路径无效。

文件复制失败

78

文件复制失败。

无效的安全参数

79

无效的安全参数。

无法配置 TCP/IP 服务

80

无法配置 TCP/IP 服务。

无法配置 DHCP 服务

81

无法配置 DHCP 服务。 有关详细信息,请参见“备注”部分。

无法续订 DHCP 租约

82

无法续订 DHCP 租约。

无法释放 DHCP 租约

83

无法释放 DHCP 租约。

适配器上未启用 IP

84

适配器上未启用 IP。

适配器上未启用 IPX

85

适配器上未启用 IPX。

帧/网络编号边界错误

86

帧或网络编号边界错误。

无效的帧类型

87

无效的帧类型。

网络编号无效

88

网络号码无效。

重复的网络号码

89

重复的网络号码。

参数超出边界

90

参数超出边界。

访问被拒绝

91

访问被拒绝。

内存不足

92

内存不足。

已存在

93

已存在。

找不到路径、文件或对象

94

找不到路径、文件或对象。

无法通知服务

95

无法通知服务。

无法通知 DNS 服务

96

无法通知 DNS 服务。

接口不可配置

97

接口不可配置。

并非所有 DHCP 租约都可以释放/续订

98

并非所有 DHCP 租约都可以释放或续订。

适配器上未启用 DHCP

100

适配器上未启用 DHCP。

2147786788

未启用写入锁定。 有关详细信息,请参阅 INetCfgLock::AcquireWriteLock

其他

101 4294967295

备注

使用 EnableStatic 更改远程计算机的 IP 地址时,通过该适配器进行连接时,与远程计算机的连接可能会松动,并收到 RPC 不可用错误消息。 (更改设置,但) 。 若要避免这种情况,请考虑在设置适配器的 IP 地址之前更改网关和/或 DNS 设置。

使用 EnableStatic 为适配器提供静态 IP 配置时,如果适配器已配置静态地址,则该函数将返回“81 - 无法配置 DHCP 服务”。 但是, 函数仍会成功设置新操作。

示例

TechNet 库中的 静态 IP,然后加入域 PowerShell 代码示例使用 EnableStatic 将静态 IP 添加到本地计算机。

TechNet 库中 的分配静态 IP 地址 VBScript 代码示例使用 EnableStatic 设置计算机的 IP 地址。

以下 VBScript 示例演示如何在 Win32_NetworkAdapterConfiguration 实例上禁用 DHCP。 在本例中,我们指定索引为 0 的适配器。 应从其他接口的Win32_NetworkAdapter实例中选择正确的索引。

注意

此脚本仅适用于基于 NT 的系统 将下面的 ipaddr 和子网变量更改为要应用于适配器的值。

Set Adapter = GetObject("winmgmts:Win32_NetworkAdapterConfiguration=1")

ipaddr = Array("1.1.1.1")
subnet = Array("255.255.255.0")


RetVal = Adapter.EnableStatic(ipaddr,subnet)

if RetVal = 0 then 
 WScript.Echo "DHCP disabled, using static IP address"
else 
 WScript.Echo "DHCP disable failed"
end if

以下 Perl 示例演示如何在 Win32_NetworkAdapterConfiguration 实例上禁用 DHCP 使用。 在本例中,我们指定索引为 0 的适配器。 应从其他接口的Win32_NetworkAdapter实例中选择正确的索引。

注意

此脚本仅适用于基于 NT 的系统 将下面的 ipaddr 和子网变量更改为要应用于适配器的值。

use strict;
use Win32::OLE;

my ($Adapter, @ipaddr, @subnet, $RetVal);  
eval { $Adapter = 
 Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2:Win32_NetworkAdapterConfiguration.Index=\"0\""); };

unless ($@) 
{
 push @ipaddr, "192.168.144.107";
 push @subnet, "255.255.255.0";

 $RetVal = $Adapter->EnableStatic(\@ipaddr, \@subnet);

 if ($RetVal == 0) 
 {
  print "\nDHCP disabled, using static IP address\n";
 }
 else 
 {
  print "\nDHCP disable failed\n";
 }
}
else
{
 print STDERR "\n", Win32::OLE->LastError, "\n";
}

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另请参阅

计算机系统硬件类

Win32_NetworkAdapterConfiguration

WMI 任务:网络

WMI 任务:帐户和域

WMI 中的 IPv6 和 IPv4 支持