2015-08-24 28 views
-1

对于我最新的项目,我需要一个脚本像下面,但我不知道该怎么做是正确的:VBScript中要求管理员权限,并检查是否给予

Set WshShell = WScript.CreateObject("WScript.Shell") 
//1. Ask for Admin rights// 
If //Admin rights are not given// Then 
    do 
    ask for admin rights again 
    loop while //Admin rights are not given// 
Else //(So if admin right are given) 
    //do this script// 
End If 
+0

最近你不是问这个问题吗? – Bond

+0

一般来说,在Windows中不可能检查“管理权限”。这是因为您可以为各种用户和组提供非常具体的权利。理论上,你可以给标准用户足够的权利给所有不同的文件夹和注册表项,他可以安装一个非常特定的程序,但没有别的。所以,如果你知道你没有特殊的权利,你可以检查一些标准的管理员可以做的事情(比如阅读一些价值......),但最好的办法是检查脚本需要做的事情。 – Syberdoor

+0

@Bond是的,他做了(大约一个半小时)。然后将它与我给他的答案一起删除。 –

回答

0

使用ShellExecute"runas"标志

Set objShell = CreateObject("Shell.Application") 
strApplication = "your.app" 
objShell.ShellExecute strApplication, "", "", "runas", 1 
+0

我已经试过了。但是,我如何检查用户是否同意?我怎么能再问,直到他同意? –

+0

哦,从代码示例中不清楚您是否要求提升权限。您可能应该包含该代码段。 @Syberdoor非常正确。您无法直接检查管理员权限。相反,你必须尝试做一些需要管理权限的事情,看看它是否失败。看到这篇文章:http://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights – Tim

相关问题