2016-09-29 102 views
1

当我尝试这样做Python的WMI网络适配器配置参数问题[Windows 8.1中] [Python 2.7版] [WMI 1.4.9]

SetDynamicDNSRegistration(True) 

它返回 '68',我抬起头来对MSDN WMI page这意味着“输入参数无效”。

完整剧本

import wmi 

nic_configs = wmi.WMI('').Win32_NetworkAdapterConfiguration(IPEnabled=True) 

# First network adaptor 
nic = nic_configs[0] 

# IP address, subnetmask and gateway values should be unicode objects 
ip = u'192.168.0.151' 
subnetmask = u'255.255.255.0' 
gateway = u'192.168.0.1' 
dns = u'192.168.0.1' 

# Set IP address, subnetmask and default gateway 
# Note: EnableStatic() and SetGateways() methods require *lists* of values to be passed 
a = nic.EnableStatic(IPAddress=[ip],SubnetMask=[subnetmask]) 
b = nic.SetGateways(DefaultIPGateway=[gateway]) 
c = nic.SetDNSServerSearchOrder([dns]) 
d = nic.SetDynamicDNSRegistration(True) 

print(a) 
print(b) 
print(c) 
print(d) 

有什么不对?我确定“True”是真正的布尔真正的Python语法......我甚至不知道......

+0

会发生什么? – Steve

+0

完美,但我几乎不能将评论标记为已接受的答案...您是否将它写成答案,以便我可以接受它? –

回答

0

而不是一个Python布尔值,使用其相应的布尔整数。如果你尝试`nic.SetDynamicDNSRegistration(FullDNSRegistrationEnabled = 1)`所以不是

nic.SetDynamicDNSRegistration(True) 

使用

nic.SetDynamicDNSRegistration(FullDNSRegistrationEnabled=1)