用c++将脚本集合打包成exe
前面加域脚本中提到过加域时代码中会包含域管理员账号和密码,用bat脚本时可以用记事本打开脚本直接可以看到密码,我们可以用c++将脚本打包成exe执行程序,避免使用人可以直接看到密码。今天将前面的脚本集合一起做到c++的exe小程序中。
首先先打开c++编译软件,新建files,c++ source file,选择文件名和位置,点ok,复制代码,点击编译,编译完成没有错误,点击执行,即可看到运行的效果。
测试完成后,在刚刚新建文件选择的目录下找到debug文件夹,进入后找到exe后缀的程序,复制到任意位置或发送给他人,双击既可以执行。
c++编译软件
代码
#include <iostream> #include<windows.h> using namespace std; int main(){ system("@echo off"); system("color 1F"); system("mode con cols=100 lines=30"); system("title=自动改名加域脚本 by:IT运维强哥"); menu: system("cls"); cout<<endl; cout<<"自动改名加域脚本"<<endl; cout<<" [1] 自动设置IP"<<endl; cout<<" [2] 自动更改管理员密码"<<endl; cout<<" [3] 自动更改计算机名"<<endl; cout<<" [4] 自动加域"<<endl; cout<<endl; cout<<"请输入需执行命令前的数字:"; float input; cin>>input; if(input-(int)input==0){ if(input==1){ cout<<"设置IP为192.168.1.100"<<endl; system("netsh interface ip set address name=本地连接 static 192.168.1.100 255.255.255.0 192.168.1.1"); system("netsh interface ip set dnsservers 本地连接 static 8.8.8.8 primary"); system("netsh interface ip add dnsservers 本地连接 114.114.114.114 index=2"); system("echo IP设置成功"); system("pause"); goto menu; } else if(input==2){ cout<<"更改管理员administrator密码"<<endl; system("net user administrator /active:yes"); system("net user administrator mima@nishengri"); system("wmic useraccount where name='administrator' call rename 'admin'"); system("echo 更改成功"); system("pause"); goto menu; } else if(input==3){ cout<<"更改计算机名"<<endl; system("set /p newcomputername=请输入新的计算机名:"); system("wmic computersystem where name='%computername%' call rename '%newcomputername%'"); system("echo 计算机名以更改,重启生效"); system("pause"); goto menu; } else if(input==4){ cout<<"自动加域"<<endl; system("wmic computersystem where \"name='%computername%'\" call joindomainorworkgroup name=mydomain.com username=domain.com\\domainadmin password=password fjoinoptions=3"); system("echo 返回ReturnValue = 0 , 加域成功,重启电脑"); system("pause"); goto menu; } else{ goto menu; } } else{goto menu;} return 0; }c++编译器和代码
程序执行效果
代码说明
c++程序源文件后缀为.cpp
基本格式
#include <iostream> using namespace std; int main(){ }将脚本代码改为c++代码时要注意的区别
c++中
c++的每行代码后面都有一个;分号
cout<< -- 表示输出命令,加""表示文本内容,不加表示变量
cin>> -- 表示输入
调用系统命令时需要加上
#include<windows.h>
system("");
system(""); -- 里面还有双引号会保错需要加\
menu: -- 跳转的标签冒号在后面
cout<<endl; -- 表示换行