专栏首页python3python 给windows机器改名加

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 格式如下:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python os, os.path和s

    os.removedirs(dn):递归删除目录,指定最后一级目录开始删除(只能删除空目录)

    py3study
  • python语言实现mac地址自加

       以配置文件中的mac地址为起始地址(形式为xx:xx:xx:xx:xx:xx),并根据步长设置实现mac自加,然后以该mac为源mac模拟报文。

    py3study
  • 自动同步2个目录python脚本

    py3study
  • 必掌握的技巧之一

    结果会返回目录中所有文件列表,包括所有文件,子目录,符号链接等等。如果你需要通过某种方式过滤数据,可以考虑结合 os.path 库中的一些函数来使用列表推导。

    Python知识大全
  • 初学Python:写码时应该缩进使用 tab 还是空格?

    在不同的编辑器里tab的长度可能不一致,所以在一个编辑器里用tab设置缩进后,在其它编辑器里看可能缩进就乱了。空格不会出现这个问题,因为空格就占一个字符的位置。

    用户2966292
  • 微信小程序电商平台,商家非做不可?

      近日,微信在支付页面开放“智慧零售”入口引发关注。继福州地区之后,深圳地区的用户同样可以通过微信客户端的“我-支付-腾讯服务-智慧零售”访问腾讯智慧零售小程...

    木鱼小铺小程序1
  • [译]C#8.0中一个使接口更加灵活的新特性-默认接口实现

    如果这个接口又在多个项目中使用了,那么进行更改将需要付出更多的精力,以确保它不会在其他地方运行失败。

    依乐祝
  • 下半场机会在哪里?小程序+传统产业 !

    都说业内有三大宝:马云的公开信,罗永浩的新相声,马化腾张小龙的内部内容泄露。这几个人时不时放出点消息,都能引起整个互联网圈的集体高潮。

    用户1745481
  • 很多人想问的几个关于小程序问题,这里都告诉你!

    小程序发展至今,很多人觉得小程序已经被完全被看透了,但是我们真的都确切弄明白了小程序是什么吗?

    中微信通
  • 为何小程序电商能够爆发?小程序爆发年电商春水被搅动之年

    这是蘑菇街、茵曼、享物说在小程序上的“牛刀小试”。如今提起电商,首先映入脑海的未必是万能的淘宝或者京东,拼多多、云集、一条、享物说、女王新款、蘑菇街女装、靠谱...

    微信小程序开发加盟服务商

扫码关注云+社区

领取腾讯云代金券