2016-09-29 4 views
1

Когда я пытаюсь сделать этовопрос параметр конфигурации Python WMI Network Adapter [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 для логического TRUE ... Я даже не знаю больше ...

+0

Что произойдет, если вы пытаетесь 'nic.SetDynamicDNSRegistration (FullDNSRegistrationEnabled = 1)'? – Steve

+0

Идеально, но я едва могу отметить комментарий как принятый ответ ... Не возражаете ли вы сформулировать его в ответ, чтобы я мог его принять? –

ответ

0

Вместо булевого логического элемента Python используйте его соответствующее логическое целое. Таким образом, вместо

nic.SetDynamicDNSRegistration(True) 

использования

nic.SetDynamicDNSRegistration(FullDNSRegistrationEnabled=1)