Views
opsi wiki page
>>
NetworkAdapterConfiguration (with python & WMI)
last edited 3 years ago by pwpete
Simple Python script for changing several NetworkAdapterConfigurations
on a W2K-Client (such as DefaultIPGateway, Dynamic DHCP, automatic
DNS-Serveraddress, DNSSuffixSearchOrder). It needs the python sw (see
winst scripts) previously installed.
# Autor: P.L.Wellmann (wp)/ 27.11.2006 (with thanks to UIB)
#--------------------------------------------------------------#
# 1. Loesche DefaultIPGateway (geht aber nur bei #
# statischem DHCP, daher die erste Aktion) #
# 2. Enable DHCP fuer jedes Interface #
# 3. DISABLE LMHOSTS #
# 4. DNS-Domain fuer jedes Interface #
# 5. NetbiosOption ="0" f.j. Interface (0=Netbios ueber DHCP) #
# 6. Enable automatische DNS-Serveradresse #
# 7. Changing DNSDomainSuffixSearchOrder #
# 8. Ausgabe der Einstellungen (IPConfig-like) #
# 9. OPTIONAL: Dynamische DNSRegistrierung #
#---------------------------------------------- wp fecit MMVI -#
import wmi
c = wmi.WMI ()
Standort = "xxx.yy"
DNSSO_SZ = (u'xxx.yy', u'yyy.xx',)
h = ()
f = False
c.Win32_NetworkAdapterConfiguration.EnableWINS(WINSEnableLMHostsLookup=f)
###-------------------Loesche Default Gateway----------------------###
for interface in c.Win32_NetworkAdapterConfiguration (IPenabled=1):
if interface.DHCPEnabled is (False):
if interface.DefaultIPGateway > 0:
for x in interface.DefaultIPGateway:
interface.SetGateways(DefaultIPGateway=h)
###------------------------- Enable DHCP --------------------------###
a = interface.DHCPEnabled
if a is (False):
print "AKTIVIERE DHCP"
print (interface.caption)
interface.EnableDHCP
b = interface.EnableDHCP()
c = interface.DHCPEnabled
if c < 1 :
print "DHCP AKTIVIERT"
else:
print "DHCP BEREITS AKTIVIERT"
###------------------------- Disable LMHOSTS ----------------------###
if interface.WINSEnableLMHostsLookup is True:
interface.EnableWINS(SetWINSEnableLMHostsLookup=f)
###-------------- Set DNS Domain und NetbiosOptions ---------------###
interface.SetDNSDomain(DNSDomain=Standort)
interface.SetTcpipNetbios(TcpipNetbiosOptions=0)
#--------------------------------------------------------------------#
# automatische DNS-Serveradresse #
# durch Loeschen der DNSServerSearchOrder #
#--------------------------------------------------------------------#
if (interface.DNSServerSearchOrder)>0:
for x in interface.DNSServerSearchOrder:
interface.SetDNSServerSearchOrder(DNSServerSearchOrder=h)
#--------------------------------------------------------------------#
# Changing DNSDomainSuffixSearchOrder (Anhaengen der DNS-Suffixe #
# in Erweiterte TCPIP-Einstellungen) #
#--------------------------------------------------------------------#
DNSSO = interface.DNSDomainSuffixSearchOrder
if DNSSO<>DNSSO_SZ:
c.Win32_NetworkAdapterConfiguration.SetDNSSuffixSearchOrder(DNSDomainSuffixSearchOrder=DNSSO_SZ)
###-------------- Fuer spaetere Wuensche des Netzadmin ------------###
# interface.SetDynamicDNSRegistration(FullDNSRegistrationEnabled=False)
# interface.SetDynamicDNSRegistration(DomainDNSRegistrationEnabled=False)
###----------------------------------------------------------------###
#--------------------------------------------------------------------#
# Ausgabe der Einstellungen #
#--------------------------------------------------------------------#
print "Adapter:",interface.caption
print "IP-Adresse des Adapters | : ",interface.IPAddress
print "MAC-Adresse des Adapters | : ",interface.MACAddress
print "DHCP aktiviert? | [TRUE ist gut]: ",interface.DHCPenabled
print "DNS-Domain-Interface | : ",interface.DNSDomain
print "DNSServerSearchOrder | [vom DHCP?]: ",interface.DNSServerSearchOrder
print "DNS-DomainServerSearchOrder| : ",interface.DNSDomainSuffixSearchOrder
print "DefaultIPGateway | [vom DHCP?]: ",interface.DefaultIPGateway
print "TcpipNetbiosOptions | [0 ist gut]: ",interface.TcpipNetbiosOptions
print "WINS/LMHOSTS aktiviert? |[False ist gut]: ",interface.WINSEnableLMHostsLookup
print "---------------------------------------------------------------------"
exit