python改名_python 给windows机器改名加域

#^_^ coding=gbk ^_^

import os,sys

import linecache

import uuid

def config():

'获取配置文件里面的mac和主机名'

fn = ('c:\\add\\config.cfg')

lines = [ x.split('\n') for x in linecache.getlines(fn) if x.startswith('R')]

ip_mac_lines = [ x[0] for x in lines ]

return ip_mac_lines

def host_mac():

'获取客户机器的MAC地址'

# node = uuid.getnode()

# mac = uuid.UUID(int=node)

# adr_mac = mac.hex[-12:]

# return adr_mac

#KVM虚拟机获取mac地址的方法

mac = os.popen('getmac').read()

mac_adr = mac.split('\n')[3]

mac_adr1 = mac_adr.split(' ')[0].replace('-','')

return mac_adr1

def replace_host():

'根据mac地址获取出对应更改主机的主机名'

cg_host = config()

h_mac = host_mac().lower()

for x in cg_host:

if x.lower().split(' ')[-1] == h_mac:

return x.lower().split(' ')[0]

if os.name == 'nt':

repl_host = replace_host()

hostname = os.popen('hostname').read().replace('\n','')

if hostname == repl_host:

#windows加域

os.system('netdom join {0} /domain:render.com /userd:render\\administrator /passwordd:密码>C:\\add\\ad.txt'.format(repl_host))

os.system('regedit /s C:\\add\\denglu.reg')

os.system('shutdown -r -t 20')

os.system('del "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\rh.lnk"')

else:

#生成更改主机名的注册表,在系统注册,然后重启系统

regedit1 = r'Windows Registry Editor Version 5.00'

regedit2 = r'[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName]'

regedit3 = r'"ComputerName"="{0}"'.format(repl_host)

regedit4 = r'[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]'

regedit5 = r'"NV Hostname"="{0}"'.format(repl_host)

regedit6 = r'"Hostname"="{0}"'.format(repl_host)

f_file = '{0}\n{1}\n{2}\n{3}\n{4}\n{5}'.format(regedit1,regedit2,regedit3,regedit4,regedit5,regedit6)

f_name = open('C:\\add\\ComputerName.reg','w')

f_name.write(f_file)

f_name.close()

os.system('regedit /s C:\\add\\ComputerName.reg')

os.system('shutdown -r -t 30')

else:

print 'OS is not windows system'

config.cfg 格式如下:

162733190.png

o(︶︿︶)o 唉。。这个代码写出来就用了1个小时,调试用了一天。。真纠结,不过收获了好多经验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值