zoukankan      html  css  js  c++  java
  • bat 实现主机hostname的修改

    主机实现hostname的修改原理:

      修改注册表中的值:

        hklmSYSTEMCurrentControlSetControlComputerNameComputerName 下的 ComputerName

        hklmSYSTEMCurrentControlSetControlComputerNameActiveComputerName 下的 ComputerName

        hklmSYSTEMCurrentControlSetServicesTcpipParameters  下的 Hostname

        hklmSYSTEMCurrentControlSetServicesTcpipParameters 下的 NV Hostname

    bat脚本实现:

    @echo off
    if not "%OS%"=="Windows_NT" goto END
    if "%1"=="" (
        set INFO=echo &&set skip=0&&set err=0
    ) else if "%1"=="/?" (
        set INFO=echo && set skip=1&&set err=0&&goto DESC
    ) else  if "%1"=="-q" (
        set INFO=echo &&set err=1&&goto ERR
    ) else  if "%1"=="-r" (
        set INFO=echo &&set err=1&&goto ERR
    ) else (
        set name=%1 && goto CHANGE
    )
    
    %INFO% *******************************
    %INFO% Script:ChangeHostname.bat
    %INFO% Creation Date : 2019/3/14 16:13
    %INFO% Last Modified : 2019/3/14 20:49 
    %INFO% Author: feiquan
    %INFO% Email: 2283320260@qq.com
    :DESC
    %INFO% *********************************
    %INFO% Description: 
    %INFO%        chang you hostname
    %INFO% *********************************
    %INFO% Examples:
    %INFO%         ChangeHostname.bat  ===^> Interact mode
    %INFO%         ChangeHostname.bat  /? ===^> Help mode
    %INFO%         ChangeHostname.bat  "NewHostname" ===^> Commandline mode
    %INFO%         ChangeHostname.bat  "NewHostname"  -q ===^> Quiet mode
    %INFO%         ChangeHostname.bat  "NewHostname"  -r ===^> Restart Sysetm After 60s
    %INFO%         ChangeHostname.bat  "NewHostname"  -q -r ===^>Quiet mode, Restart Sysetm After 60s
    %INFO%         Echo N ^| ChangeHostname.bat "NewHostname" -q ===^>Quiet mode,  No Restart Sysetm
    %INFO% *********************************
    if "%skip%"=="1" goto END
    
    
    :START
    color 07
    
    title Change Hostname
    setlocal EnableDelayedExpansion
    for /F "skip=1 tokens=3" %%i in ('reg query "hklmSYSTEMCurrentControlSetControlComputerNameComputerName" -v ComputerName' ) do set nowHostname=%%i
    
    echo Your computer hostname : %nowHostname%
    
    set /p n=Please input new hostname :
    set name="!n!"
    echo.
    
    :CHANGE
    if "%2"=="-q" goto QUIET
    if "%3"=="-q" goto QUIET
    
    set /p sure=Do you want to change hostname %name% ?(Y/N)
    if  /i not "%sure%"=="y" goto END
    
    :QUIET
    reg add "hklmSYSTEMCurrentControlSetControlComputerNameComputerName" -v ComputerName -t REG_SZ -d %name% -f
    
    reg add "hklmSYSTEMCurrentControlSetControlComputerNameActiveComputerName" -v ComputerName -t REG_SZ -d %name% -f
    
    reg add "hklmSYSTEMCurrentControlSetServicesTcpipParameters" -v Hostname -t REG_SZ -d %name% -f
    
    reg add "hklmSYSTEMCurrentControlSetServicesTcpipParameters" -v "NV Hostname" -t REG_SZ -d %name% -f
    
    echo.
    for /F "skip=1 tokens=3" %%i in ('reg query "hklmSYSTEMCurrentControlSetControlComputerNameComputerName" -v ComputerName' ) do set nowHostname=%%i
    
    echo Your computer hostname has changed : %nowHostname%
    echo  After 60 seconds , Restart your system....
    
    if "%2"=="-r" goto RESERT
    if "%3"=="-r" goto RESERT
    set /p restart=Do you want to restart your system after 60s ? (Y/N)
    if  /i not "%restart%"=="y" goto END
    :RESERT
    shutdown -r -t 60 -c "Your computer hostname has changed : %nowHostname% . Restart your system 60s ...."  -d p:2:4
    goto END
    
    :ERR
    echo Format Error , Please with "ChangeHostname.bat  /? " to learn more ....
    
    :END
    echo exiting....

    下载地址:

      链接:https://pan.baidu.com/s/1Ik3C0juf4um1hU58p9sj9A
      提取码:p28f

  • 相关阅读:
    Lattice Diamond 的学习之新建工程
    candence 笔记总结
    音乐发生器的原理
    PAL/NTSC 制电视广播技术有关知识--FPGA
    以后绝对不能再犯的错误
    BZOJ1112: [POI2008]砖块Klo
    Luogu P1533 可怜的狗狗
    BZOJ4542: [Hnoi2016]大数
    BZOJ5131: [CodePlus2017年12月]可做题2
    BZOJ3083: 遥远的国度
  • 原文地址:https://www.cnblogs.com/feiquan/p/10533506.html
Copyright © 2011-2022 走看看