EnableStatic method of the Win32_NetworkAdapterConfiguration class

The EnableStatic WMI class method enables static TCP/IP addressing for the target network adapter. As a result, DHCP for this network adapter is disabled.

This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.

Syntax

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

Parameters

IPAddress [in]

Lists all of the static IP addresses for the current network adapter.

Example: 155.34.22.0.

SubnetMask [in]

Subnet masks that complement the values in the IPAddress parameter.

Example: 255.255.0.0.

Return value

Returns a value of 0 (zero) for a successful completion when a reboot is not required, 1 (one) for a successful completion when a reboot is required, and any other number if there is an error. For more information on error codes, see WMI Error Constants or WbemErrorEnum. For general HRESULT values, see System Error Codes.

Successful completion, no reboot required

0

Successful completion, no reboot required.

Successful completion, reboot required

1

Successful completion, reboot required.

Method not supported on this platform

64

Method not supported on this platform.

Unknown failure

65

Unknown failure.

Invalid subnet mask

66

Invalid subnet mask.

An error occurred while processing an Instance that was returned

67

An error occurred while processing an instance that was returned.

Invalid input parameter

68

Invalid input parameter.

More than 5 gateways specified

69

More than five gateways specified.

Invalid IP address

70

Invalid IP address.

Invalid gateway IP address

71

Invalid gateway IP address.

An error occurred while accessing the Registry for the requested information

72

An error occurred while accessing the registry for the requested information.

Invalid domain name

73

Invalid domain name.

Invalid host name

74

Invalid host name.

No primary/secondary WINS server defined

75

No primary or secondary WINS server defined.

Invalid file

76

Invalid file.

Invalid system path

77

Invalid system path.

File copy failed

78

File copy failed.

Invalid security parameter

79

Invalid security parameter.

Unable to configure TCP/IP service

80

Unable to configure TCP/IP service.

Unable to configure DHCP service

81

Unable to configure DHCP service. For more information, see the Remarks section.

Unable to renew DHCP lease

82

Unable to renew DHCP lease.

Unable to release DHCP lease

83

Unable to release DHCP lease.

IP not enabled on adapter

84

IP not enabled on adapter.

IPX not enabled on adapter

85

IPX not enabled on adapter.

Frame/network number bounds error

86

Frame or network number bounds error.

Invalid frame type

87

Invalid frame type.

Invalid network number

88

Invalid network number.

Duplicate network number

89

Duplicate network number.

Parameter out of bounds

90

Parameter out of bounds.

Access denied

91

Access denied.

Out of memory

92

Out of memory.

Already exists

93

Already exists.

Path, file or object not found

94

Path, file, or object not found.

Unable to notify service

95

Unable to notify service.

Unable to notify DNS service

96

Unable to notify DNS service.

Interface not configurable

97

Interface not configurable.

Not all DHCP leases could be released/renewed

98

Not all DHCP leases could be released or renewed.

DHCP not enabled on adapter

100

DHCP not enabled on adapter.

2147786788

Write lock not enabled. For more information, see INetCfgLock::AcquireWriteLock.

Other

101 4294967295

Remarks

When using EnableStatic to change the IP address of the remote computer, while being connected through that adapter, you will likely loose connection to the remote computer, and receive an RPC not available error-message. (the settings are changed however). To avoid this scenario, consider changing the Gateway and/or DNS-settings prior to setting the adapter's IP-address.

When using EnableStatic to give an adapter a static IP configuration, the function returns an "81 - Unable to configure DHCP service" if the adapter is already configured with a static address. However, the function still succeeds in setting with the new operation.

Examples

The following VBScript sample demonstrates how to disable DHCP use on an instance of Win32_NetworkAdapterConfiguration. In this case we specify the adapter with an Index of 0. The correct index should be selected from Win32_NetworkAdapter instances for other interfaces.

Note

This script only applies to NT-based systems Change the ipaddr and subnet variables below to the values you wish to apply to the adapter.

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

The following Perl sample demonstrates how to disable DHCP use on an instance of Win32_NetworkAdapterConfiguration. In this case we specify the adapter with an Index of 0. The correct index should be selected from Win32_NetworkAdapter instances for other interfaces.

Note

This script only applies to NT-based systems Change the ipaddr and subnet variables below to the values you wish to apply to the adapter.

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";
}

Requirements

Requirement Value
Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

See also

Computer System Hardware Classes

Win32_NetworkAdapterConfiguration

WMI Tasks: Networking

WMI Tasks: Accounts and Domains

IPv6 and IPv4 Support in WMI