本文转载自 http://blog.csdn.net/site_dave/article/details/54667336
Windows 系统因为从 Vista 版本开始加入了 UAC 机制,导致权限不够无法获取到一些资源。
在 Linus 下可以使用 sodo 命令提升当前程序的执行权限,但是在 Windows 中却通常只能右键单击程序图标,再选择 "以管理员省份运行"。
以下为转载的一个可以运行在 Windows 系统的 sudo 命令工具。
/***************************************/
'ShellExecute 方法
'作用: 用于运行一个程序或脚本。
'语法
' .ShellExecute "application", "parameters", "dir", "verb", window
' .ShellExecute 'some program.exe', '"some parameters with spaces"', , "runas", 1
'关键字
' application 要运行的程序或脚本名称
' parameters 运行程序或脚本所需的参数
' dir 工作路径,若未指定则使用当前路径
' verb 要执行的动作 (值可以是 runas/open/edit/print)
' runas 动作通常用于提升权限
' window 程序或脚本执行时的窗口样式 (normal=1, hide=0, 2=Min, 3=max, 4=restore, 5=current, 7=min/inactive, 10=default)
Set UAC = CreateObject("Shell.Application")
Set Shell = CreateObject("WScript.Shell")
If WScript.Arguments.count<1 Then
WScript.echo "语法: sudo
ElseIf WScript.Arguments.count=1 Then
UAC.ShellExecute WScript.arguments(0), "", "", "runas", 1
' WScript.Sleep 1500
' Dim ret
' ret = Shell.Appactivate("用户账户控制")
' If ret = true Then
' Shell.sendkeys "%y"
' Else
' WScript.echo "自动获取管理员权限失败,请手动确认。"
' End If
Else
Dim ucCount
Dim args
args = NULL
For ucCount=1 To (WScript.Arguments.count-1) Step 1
args = args & " " & WScript.Arguments(ucCount)
Next
UAC.ShellExecute WScript.arguments(0), args, "", "runas", 5
End If
/***************************************/
新建一个文件夹,将以上代码复制粘贴到文件中,并命名为 sudo.vbs
将 sudo.vbs 所在的路径添加到环境变量中,就可以在任意路径下使用 sudo 命令获取管理员权限
使用时在命令行输入 sudo net start 服务名