当我使用GUI任务计划程序时,我可以轻松检查“以最高权限运行”复选框。
但是,我在VBScript命令行中也没有找到这样的选项。
有没有办法从VBScript中做到这一点?
如何添加这个脚本这两个功能?
示例VBScript:http://msdn.microsoft.com/en-us/library/aa383665%28v%3DVS.85%29.aspx
特权:http://msdn.microsoft.com/en-us/library/windows/desktop/aa382076%28v=vs.85%29.aspx
答案 0 :(得分:1)
此VBScript代码自动执行SchTasks.exe程序,并应演示您要执行的操作。要获取使用SchTasks创建任务的开关列表,您可以运行:
schtasks.exe /create /?
您仍然必须从管理命令提示符运行以下脚本才能创建具有“最高”权限的任务。此外,如果您希望使用系统帐户以外的帐户,则应使用/ RP开关。如果您完全自动化它,您可能希望使用/ F开关强制覆盖现有任务。否则在等待用户输入时可能会挂起。
Option Explicit
Dim WshShell, strWinDir, strCmdLine, lngExitCode
Const OpenAsCurrentWindowIsOpened = 10, WaitForExit = True
Set WshShell = CreateObject("WScript.Shell")
strWinDir = WshShell.ExpandEnvironmentStrings("%WINDIR%")
strCmdLine = strWinDir & "\System32\SCHTASKS.exe /create /SC DAILY /TN ""My VBScript Task"" /TR """ & strWinDir & "\System32\calc.exe"" /RL HIGHEST /RU ""NT AUTHORITY\SYSTEM"""
lngExitCode = WshShell.Run(strCmdLine, OpenAsCurrentWindowIsOpened, WaitForExit)
If lngExitCode = 0 Then
WScript.Echo "Success"
Else
WScript.Echo "Failed with error code " & CStr(lngExitCode)
End If
答案 1 :(得分:0)
如果您询问如何以管理模式交互式运行VBScripts,则只需从已在“管理模式”下运行的命令行运行CSCRIPT。例如,单击“开始”,键入cmd,等待几秒钟......,右键单击cmd.exe并选择“以管理员身份运行”。然后,当您从该命令行运行CSCRIPT时,它将以最高权限运行。请注意,您必须已使用管理员用户帐户登录。
或者您是否在询问如何使用这些选项自动在VBScript中创建新的计划任务?
答案 2 :(得分:0)
如果您指的是管理员模式,试试这个:
Dim ObjShell
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.Run "runas.exe"
由于 CMD in Admin mode
只是 runas.exe
,您可以通过 WScript.Shell(ObjShell.Run
) 运行它。
这种方式更有效,因为如果你想运行命令行,你可以简单地这样做:
ObjShell.Run "runas.exe /K (command goes here)"