|
最近,网卡老抽风,开机登录时必须重启一下本地连接才能连接到网络。
于是写了一个批处理文件自动处理开机网卡重启任务,因为没有管理员密码,有些提权操作完成不太容易
在网上搜集了一些资料,也试了一些方法,比如:计划任务,自启动程序等等。
程序代码如下:
1 echo off
2
3 :: BatchGotAdmin
4 :-------------------------------------
5 REM --> Check for permissions
6 >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
7
8 REM --> If error flag set, we do not have admin.
9 if '%errorlevel%' NEQ '0' (
10 echo Requesting administrative privileges...
11 goto UACPrompt
12 ) else ( goto gotAdmin )
13
14
15 echo 正在获取临时提权
16
17 :UACPrompt
18 echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
19 echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
20
21 "%temp%\getadmin.vbs"
22 exit /B
23
24 :gotAdmin
25 if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
26 pushd "%CD%"
27 CD /D "%~dp0"
28
29 echo 提权成功!
30 :--------------------------------------
31
32 echo 禁用本地连接
33
34 netsh interface set interface 本地连接 disabled
35
36 echo 延时1秒。。。
37
38 ping -n 1 127.0.0.1>nul
39
40 echo 开启本地连接
41
42 netsh interface set interface 本地连接 enabled
43
44 echo 重启操作完成
45
46 pause
解释:重启网卡需要管理员权限运行,否则会返回本地连接未绑定的错误,ping操作实现延时功能,此处延时1秒钟。
代码前半部分为临时提权操作,因为没有Adminstrator账户密码,所以将程序放入计划任务以系统最高权限运行也不能解决问题
将此程序放入系统自启动文件夹里就可以实现开机自启动
本地运行结果:
参考:
1.命令行重启网卡 http://social.microsoft.com/Forums/zh-CN/window7betacn/thread/8a520c98-a6d3-423a-ae56-fa5701ccf9d3
2.批处理请求临时管理员权限 http://www.douban.com/note/227667370/
|
|