How to get ip setting, dynamic ip or static ip?
How to use python get my windows box's ip setting type? Dynamic ip, or static ip? If it's static ip, what's the exact value? -- http://mail.python.org/mailman/listinfo/python-list
Re: How to get ip setting, dynamic ip or static ip?
The way has one shortcoming. That's it depend on the proper language
version of Windows. If I'm using Simplified Chinese Windows, I must
modify some strings.
:(
Duncan Booth wrote:
> "kode4u" <[EMAIL PROTECTED]> wrote:
>
> > How to use python get my windows box's ip setting type? Dynamic ip, or
> > static ip?
> >
> > If it's static ip, what's the exact value?
> >
> Here's one way:
>
> def ipinfo(interface="Local Area Connection"):
> dhcpenabled = False
> staticip = None
> subnetmask = None
> for l in os.popen('netsh interface ip show address "%s"' % interface):
> l = l.strip()
> if l.startswith('DHCP enabled'):
> dhcpenabled = l.endswith('Yes')
> if l.startswith("IP Address"):
> staticip = l.rsplit(None,1)[-1]
> if l.startswith("SubnetMask"):
> subnetmask = l.rsplit(None,1)[-1]
> return dhcpenabled, staticip, subnetmask
>
> >>> ipinfo()
> (True, None, None)
> >>> ipinfo("VMware Network Adapter VMnet1")
> (False, '192.168.126.1', '255.255.255.0')
--
http://mail.python.org/mailman/listinfo/python-list
Re: How to get ip setting, dynamic ip or static ip?
There are some errors in result:
>>> import win32com.client
>>> wmi=win32com.client.GetObject('winmgmts:')
>>> adapters=wmi.InstancesOf('Win32_NetworkAdapterConfiguration')
>>> for adapter in adapters:
... print adapter.Properties_['Caption'],
adapter.Properties_['DhcpEnabled'], adapter.Properties_['IpAddress']
...
[0001] Realtek RTL8139 Family PCI Fast Ethernet NIC True
(u'169.254.52.213',)
Traceback (most recent call last):
File "", line 2, in
File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line
187, in __str__
return str(self.__call__())
UnicodeEncodeError: 'ascii' codec can't encode characters in position
15-19: ordinal not in range(128)
How to deal with it?
Roger Upole wrote:
> "kode4u" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> > How to use python get my windows box's ip setting type? Dynamic ip, or
> > static ip?
> >
> > If it's static ip, what's the exact value?
> >
>
> You can use WMI to list properties of your network adapter(s):
> import win32com.client
> wmi=win32com.client.GetObject('winmgmts:')
> adapters=wmi.InstancesOf('Win32_NetworkAdapterConfiguration')
> for adapter in adapters:
> print adapter.Properties_['Caption'], adapter.Properties_['DhcpEnabled'],
> adapter.Properties_['IpAddress']
>
>Roger
>
>
>
>
> == Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet
> News==
> http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000
> Newsgroups
> ---= East/West-Coast Server Farms - Total Privacy via Encryption =---
--
http://mail.python.org/mailman/listinfo/python-list
Re: How to get ip setting, dynamic ip or static ip?
Thank you very much.
Does the wmi object can modify the ip address?
Roger Upole wrote:
> This means the unicode object contains characters that
> can't be represented in the default encoding. Try encoding it
> in another character set, something like
>
> adapter.Properties_['Caption'].Value.encode('mbcs')
> (you may need to use a different codec)
>
> Roger
>
>
> "kode4u" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> > There are some errors in result:
> >>>> import win32com.client
> >>>> wmi=win32com.client.GetObject('winmgmts:')
> >>>> adapters=wmi.InstancesOf('Win32_NetworkAdapterConfiguration')
> >>>> for adapter in adapters:
> > ... print adapter.Properties_['Caption'],
> > adapter.Properties_['DhcpEnabled'], adapter.Properties_['IpAddress']
> > ...
> > [0001] Realtek RTL8139 Family PCI Fast Ethernet NIC True
> > (u'169.254.52.213',)
> > Traceback (most recent call last):
> > File "", line 2, in
> > File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line
> > 187, in __str__
> >return str(self.__call__())
> > UnicodeEncodeError: 'ascii' codec can't encode characters in position
> > 15-19: ordinal not in range(128)
> >
> > How to deal with it?
> >
> >
> >
> > Roger Upole wrote:
> >> "kode4u" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> >> > How to use python get my windows box's ip setting type? Dynamic ip, or
> >> > static ip?
> >> >
> >> > If it's static ip, what's the exact value?
> >> >
> >>
> >> You can use WMI to list properties of your network adapter(s):
> >> import win32com.client
> >> wmi=win32com.client.GetObject('winmgmts:')
> >> adapters=wmi.InstancesOf('Win32_NetworkAdapterConfiguration')
> >> for adapter in adapters:
> >> print adapter.Properties_['Caption'],
> >> adapter.Properties_['DhcpEnabled'], adapter.Properties_['IpAddress']
> >>
> >>Roger
> >>
> >>
> >>
> >>
> >> == Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet
> >> News==
> >> http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000
> >> Newsgroups
> >> ---= East/West-Coast Server Farms - Total Privacy via Encryption =---
> >
--
http://mail.python.org/mailman/listinfo/python-list
