知道用户是否具有VBScript管理权限的最佳方法

Jav*_*dro 5 vbscript privileges

我需要检查执行脚本的用户在计算机上是否具有管理特权。

我指定了执行脚本的用户,因为该脚本可能已由与登录用户不同的用户执行,而类似于“ Runas”。

@哈维尔:两种解决方案都可以在装有英文版Windows的PC上运行,但如果安装的语言不同则不能。这是因为Administrators组不存在,所以名称有所不同,例如西班牙语。我需要解决方案才能在所有配置中工作。

Tim*_*m C 3

如果您想查看登录用户是否是管理员,可以使用脚本

Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
strUser = objNetwork.UserName

isAdministrator = false

Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
For Each objUser in objGroup.Members
    If objUser.Name = strUser Then
        isAdministrator = true        
    End If
Next

If isAdministrator Then
    Wscript.Echo strUser & " is a local administrator."
Else
    Wscript.Echo strUser & " is not a local administrator."
End If
Run Code Online (Sandbox Code Playgroud)

恐怕我不确定当脚本使用“Runas”运行时如何处理它。

  • 如果用户不直接属于管理员组,而是通过某些组成员身份加入,则此方法不起作用。 (2认同)