首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从vbs作为管理员运行vbs?

如何从vbs作为管理员运行vbs?
EN

Stack Overflow用户
提问于 2013-07-04 09:27:34
回答 6查看 141.9K关注 0票数 28

有人能帮我运行vbs本身,但管理员的权利吗?我需要通过VBScript用Windows8重命名计算机,但是只有通过管理员命令行运行我的脚本(作为管理员→runScript.vbs运行的CMD→)才有可能。如果我用经典的CMD启动脚本,计算机就不会被重命名。

我的想法是用用户权限启动脚本,没有参数,如果没有参数,脚本将使用管理权限重新运行,并以参数作为标识符"I'm admin“重新运行。

有人知道我是怎么做到的吗?

编辑:

我试过这个:

代码语言:javascript
复制
If WScript.Arguments.Count = 0 Then
    Set objShell = CreateObject("Shell.Application")
    objShell.ShellExecute "wscript.exe", "c:\Users\admin\Documents\selfConfigure.vbs -1", "", runas", 1
End If
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-07-04 09:55:47

如果在计算机上启用了UAC,类似的操作应该可以:

代码语言:javascript
复制
If Not WScript.Arguments.Named.Exists("elevate") Then
  CreateObject("Shell.Application").ShellExecute WScript.FullName _
    , """" & WScript.ScriptFullName & """ /elevate", "", "runas", 1
  WScript.Quit
End If

'actual code
票数 35
EN

Stack Overflow用户

发布于 2014-03-14 18:57:50

将以下内容添加到文件的开头:

代码语言:javascript
复制
Set WshShell = WScript.CreateObject("WScript.Shell")
If WScript.Arguments.Length = 0 Then
  Set ObjShell = CreateObject("Shell.Application")
  ObjShell.ShellExecute "wscript.exe" _
    , """" & WScript.ScriptFullName & """ RunAsAdministrator", , "runas", 1
  WScript.Quit
End if
票数 9
EN

Stack Overflow用户

发布于 2014-05-13 07:15:08

标高选项不错的文章- http://www.novell.com/support/kb/doc.php?id=7010269

将应用程序配置为始终请求提升权限:

程序可以配置为始终通过HKCU__下的注册表设置请求用户级别的提升。这些注册表设置在运行中是有效的,因此可以在启动特定应用程序之前立即设置它们,如果需要的话,甚至可以在应用程序启动时立即删除。只需在"String Value"下为可执行文件的完整路径创建一个"HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers",该路径的值为"RUN AS ADMIN"__。下面是CMD的一个例子。

代码语言:javascript
复制
Windows Registry Editor Version 5.00
[HKEY_Current_User\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"c:\\windows\\system32\\cmd.exe"="RUNASADMIN"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17466681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档