新建一個文本文件,將下面代碼復制粘貼到文件中,並重命名文本文件為 sudo.vbs (注意后綴改成了 .vbs)。將 sudo.vbs 所在路徑添加到環境變量 PATH 中,這樣就可以在任意路徑下使用 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 <command> [args]"
- 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
轉載