@echo off
mode con: cols=60 lines=3
color 1a
::分离 时间,~5,2 表示从第五位开始,显示后2位字符。
SET date1=%date:~0,4%
SET date2=%date:~5,2%
SET date3=%date:~8,2%
::分离 时间
SET time1=%time:~0,2%
SET time2=%time:~3,2%
SET time3=%time:~6,2%
::分离并显示当前时间,精确到秒。
TITLE 当前日期:%date1%年%date2%月%date3%日%time1%时%time2%分
ECHO %date1%年 %date2%月 %date3%日
ECHO %time1%时 %time2%分
ping -n 3 127.1 >nul 2>nul
::检查是否拥有运行权限
::用 findstr 搜索本帐户是否属于 administrator 帐户组,
:: || command1 || command2 只有在符号 || 前面的命令失败时,才用于运行符号 || 后面的命令。Cmd.exe 运行第一个命令,然后只有在第一个命令未能运行成功(接收到大于零的错误代码)时才运行第二个命令。
TITLE 检查用户权限
COLOR 0F
mode con: cols=30 lines=5
ECHO.
ECHO 正在验证账户权限,请稍候..
ECHO.
PING -n 4 127.1 >nul 2>nul
NET users %username%|findstr /i "/*administrator">nul 2>nul || goto sorry
GOTO :LOCALGROUP
:LOCALGROUP
CLS
TITLE 账户权限验证通过
COLOR 0F
mode con: cols=50 lines=10
ECHO =======================================
ECHO 账户权限验证通过
ECHO 本账户属于administrator 账户组
ECHO =======================================
ECHO 正在进入程序.......
PING -n 4 127.1 >nul 2>nul
mode con: cols=40 lines=20
color 2a
:open
cls
echo =======================================
echo 是否需要修改IP
echo =======================================
echo 1、直接设置系统共享
echo.
echo 2、进入 IP 设置选项
echo.
echo 3、退出
echo =======================================
echo 请输入序号后回车
echo.
set a=
set /p a= 请输入:
if /i "%a%"=="1" goto :GX
if /i "%a%"=="2" goto :IP
if /i "%a%"=="3" goto :EXIT
goto :open
:GX
::设置共享
mode con: cols=55 lines=23
color 1f
CLS
echo =====================================================
echo 系统将做如下调整:
echo =====================================================
echo 一、取消本机密码
echo.
echo 二、本地安全策略-安全选项-网络访问:
echo 不允许SAM帐户和共享的匿名枚举。
echo 修改为【已停用】。
echo.
echo 三、本地安全策略--安全选项--帐户:
echo 使用空白密码的本地帐户只允许进行控制台登录。
echo 修改为【已启用】。
echo.
echo 四、控制面板--防火墙--例外;
echo 添加【文件和打印机共享】
echo.
echo 五、本地安全策略--本地策略--安全选项--
echo 网络访问:本地帐户的共享和安全模式:
echo 修改为【经典】
echo.
echo ====================================================
echo 10 秒后开始执行
ping -n 10 127.1 2>nul 1>nul
net user %username% "" 2>nul 1>nul
echo Windows Registry Editor Version 5.00>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Lsa]>>%temp%/局域网访问.reg
echo "restrictanonymous"=dword:00000000>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa]>>%temp%/局域网访问.reg
echo "restrictanonymous"=dword:00000000>>%temp%/局域网访问.reg
echo ; 以上两行在系统中的位置是:本地安全策略-安全选项-网络访问:不允许SAM帐户和共享>>%temp%/局域网访问.reg
echo ; 的匿名枚举。系统默认值是:已停用。>>%temp%/局域网访问.reg
echo ; 解说:操作系统默认:利用ipc$通道可以建立空连接,匿名枚举出该机有多少帐户。显然>>%temp%/局域网访问.reg
echo ; 有一定的安全隐患。本系统已设为不允许空连接了。以此提高单机拨号上网的安全性。>>%temp%/局域网访问.reg
echo ; 负面影响是局域网不能互访了。要更改一下才可以解决。>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa]>>%temp%/局域网访问.reg
echo "limitblankpassworduse"=dword:00000000>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Lsa]>>%temp%/局域网访问.reg
echo "limitblankpassworduse"=dword:00000000>>%temp%/局域网访问.reg
echo ; 以上两行在系统中的位置是:本地安全策略--安全选项--帐户:使用空白密码的本地帐户>>%temp%/局域网访问.reg
echo ; 只允许进行控制台登录。系统默认值是:已启用。>>%temp%/局域网访问.reg
echo ; 解说:很多人的帐户是不加密码的。这样,当局域网中别的电脑访问本机时,会弹出错误提示:>>%temp%/局域网访问.reg
echo ; 登录失败:用户帐户限制………。这是XP系统的一条安全策略造成的,防止别人趁你空密码时>>%temp%/局域网访问.reg
echo ; 进入你的电脑。如果你觉得无所谓,不必做这些限制,那就把它设为:已停用。>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo [HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/UserAssist/{75048700-EF1F-11D0-9888-006097DEACF9}/Count]>>%temp%/局域网访问.reg
echo "HRZR_EHAPCY"=hex:0C,00,00,00,26,00,00,00,F0,FB,E5,52,64,95,C6,01>>%temp%/局域网访问.reg
echo "HRZR_EHAPCY:"P:/JVAQBJF/flfgrz32/sverjnyy.pcy",Jvaqbjf 防火墙"=hex:0C,00,00,00,08,00,00,00,F0,FB,E5,52,64,95,C6,01>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/SharedAccess/Parameters/FirewallPolicy/StandardProfile/GloballyOpenPorts/List]>>%temp%/局域网访问.reg
echo "445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005">>%temp%/局域网访问.reg
echo "137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001">>%temp%/局域网访问.reg
echo "138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002">>%temp%/局域网访问.reg
echo "139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004">>%temp%/局域网访问.reg
echo. >>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/SharedAccess/Epoch]>>%temp%/局域网访问.reg
echo "Epoch"=dword:000001ED>>%temp%/局域网访问.reg
echo. >>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Print/Providers]>>%temp%/局域网访问.reg
echo "LogonTime"=hex:E8,31,8E,4F,64,95,C6,01>>%temp%/局域网访问.reg
echo. >>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/SharedAccess/Parameters/FirewallPolicy/StandardProfile/GloballyOpenPorts/List]>>%temp%/局域网访问.reg
echo "445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005">>%temp%/局域网访问.reg
echo "137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001">>%temp%/局域网访问.reg
echo "138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002">>%temp%/局域网访问.reg
echo "139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004">>%temp%/局域网访问.reg
echo. >>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/SharedAccess/Epoch]>>%temp%/局域网访问.reg
echo "Epoch"=dword:000001ED>>%temp%/局域网访问.reg
echo ; 以上数值对应系统中的位置:控制面板--防火墙--例外--文件和打印机共享。系统默认:不选。>>%temp%/局域网访问.reg
echo ; 解说:所有的策略都设置好了,局域网依然不能访问,提示:您没有权限使用网络资源,找>>%temp%/局域网访问.reg
echo ; 不到网络路径!呵呵,真是令人火冒三丈!其实XP还有一道关卡,就是防火墙,必须要经过>>%temp%/局域网访问.reg
echo ; 防火墙的允许才行。>>%temp%/局域网访问.reg
echo. >>%temp%/局域网访问.reg
echo [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa]>>%temp%/局域网访问.reg
echo "forceguest"=dword:00000000>>%temp%/局域网访问.reg
echo ; 以上数值对应系统中的位置是:控制面板--管理工具--本地安全策略--本地策略--安全选项,>>%temp%/局域网访问.reg
echo ; 网络访问:本地帐户的共享和安全模式:仅来宾-本地用户以来宾份验证。这时,当局域网>>%temp%/局域网访问.reg
echo ; 其他机访问本机时,不会弹出对话框,就可以直接进入。在家庭网等完全可以信任的区域,>>%temp%/局域网访问.reg
echo ; 建议使用这种方式。>>%temp%/局域网访问.reg
echo.>>%temp%/局域网访问.reg
echo. >>%temp%/局域网访问.reg
regedit /s %temp%/局域网访问.reg
del %temp%/局域网访问.reg
::建立共享
md d:/%computername%的网络共享
net share %computername%的网络共享=d:/%computername%的网络共享 /remark:"%computername%的网络共享文件夹"
:r
cls
TITLE 重启
COLOR 1f
mode con: cols=60 lines=10
echo ===========================================
echo 设置成功,系统重启后生效
echo ===========================================
echo 马上重启=Enter 稍后重启=N
echo ===========================================
SET a=
set /p a=请选择....
if /I "%a%"=="" shutdown -r -f -t 00 & exit
if /I "%a%"=="N" exit
cls & echo 无效的输入,请重新选择... & ping -n 3 127.1 & goto :r
:IP
cls
title 设置IP地址
color 1f
mode con: cols=60 lines=20
echo =====================================
echo 按编号设置IP地址 直接回车= 1 号
echo =====================================
set ip=
set /p ip=请输入本机编号:
if "%ip%" LEQ "0" (set ip=1)
if "%ip%"=="" ( set ip=1 )
cls
echo =====================================
echo 按 Y 回车键=确认 直接回车=重新设置
echo =====================================
echo 本机 IP :192.168.1.%IP%
echo =====================================
set a=
set /p a=
if /i "%a%" neq "Y" goto :IP
echo 本机IP:192.168.1.%ip% > 本机设置.txt
cls
echo.
echo 正在设置IP地址....
echo.
ping -n 1 127.1 2>nul 1>nul
netsh interface ip set address name="本地连接" source=static addr=192.168.1.%IP% mask=255.255.255.0 2>nul 1>nul
cls
:PC
title 设置计算机名称
color 2f
mode con: cols=60 lines=20
echo =====================================
echo 修改计算机名称 直接回车= sczn0
echo =====================================
set pcname=
set /p pcname=请输入计算机名称:
if "%pcname%"=="" ( set pcname=sczn0 )
cls
echo =====================================
echo 按 Y 回车键=确认 直接回车=重新设置
echo =====================================
echo 本机名称:%pcname%
echo =====================================
set a=
set /p a=
if /i "%a%" neq "Y" goto :PC
echo 本机名称:%pcname% >> 本机设置.txt
cls
echo.
echo 正在设置计算机名称....
echo.
ping -n 1 127.1 2>nul 1>nul
reg add "HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/ComputerName/ActiveComputerName" /v ComputerName /t reg_sz /d %pcname% /f
reg add "HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters" /v "NV Hostname" /t reg_sz /d %pcname% /f
reg add "HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Tcpip/Parameters" /v Hostname /t reg_sz /d %pcname% /f
cls
:WORKGROUP
title 设置计算机名称
color 2f
mode con: cols=60 lines=20
echo =====================================
echo 修改工作组名称 直接回车= WORKGROUP
echo =====================================
set WP=
set /p WP=请输入工作组名称:
if "%WP%"=="" ( set a=WORKGROUP )
cls
echo =====================================
echo 按 Y 回车键=确认 直接回车=重新设置
echo =====================================
echo 本机所属工作组:%WP%
echo =====================================
set a=
set /p a=
if /i "%a%" neq "Y" goto :WORKGROUP
echo 本机所属工作组:%wp% >> 本机设置.txt
cls
echo.
echo 正在设置工作组名称....
echo.
ping -n 2 127.1 2>nul 1>nul
wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="%WP%" 2>nul 1>nul
echo 设置成功,即将重启电脑
ping -n 5 127.1 2>nul 1>nul
shutdown -r -f -t 00
:xz
cls
TITLE 设置成功
COLOR 1f
mode con: cols=60 lines=10
echo ===========================================
echo 是否设置局域网共享
echo ===========================================
echo 重启=Enter 设置共享=Y 退出=N
echo ===========================================
SET a=
set /p a=请选择....
if /I "%a%"=="" shutdown -r -f -t 00 & exit
if /I "%a%"=="Y" GOTO :GX
if /I "%a%"=="N" exit
goto :xz
:sorry
mode con: cols=60 lines=20
ECHO ===============================================
ECHO %username%不具备管理权限,无法运行本程序。
ECHO ===============================================
ECHO 感谢使用!
ECHO 程序 10 秒后退出
ECHO ===============================================
PING -n 10 127.1 >nul 2>nul
GOTO :exit