Vista中vbs脚本执行WshShell.Run命令时的权限问题
一个vbs脚本,通过WshShell.Run()来执行一条sc 装载服务的命令,XP下成功。但在Vista中,用sc装载服务时却必须以管理员权限才能成功,假如将这条命令放在CMD脚本中,通过“以管理员身份运行”可以完成,但在vbs脚本中又该如何让这条命令获得管理员权限呢?请求高人指点。
答案或建议:
Method 1
This re-launches the current VBScript as administrator (elevated) if the script has no command-line arguments passed. When re-launching the script as administrator, simply pass a bogus argument so that the script does not run in a cyclic loop.
If WScript.Arguments.length =0 Then
Set objShell = CreateObject("Shell.Application")
'Pass a bogus argument with leading blank space, say [ uac]
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
'Add your code here
End If
Method 2
Set objShell = CreateObject("Shell.Application")
'Pass a bogus argument with leading blank space, say [ uac]
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
'Add your code here
End If
Method 2
This method uses a stub or wrapper script which runs the main VBScript elevated using the runas verb.
Set objShell = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
strPath = FSO.GetParentFolderName (WScript.ScriptFullName)
If FSO.FileExists(strPath & "\MAIN.VBS") Then
objShell.ShellExecute "wscript.exe", _
Chr(34) & strPath & "\MAIN.VBS" & Chr(34), "", "runas", 1
Else
MsgBox "Script file MAIN.VBS not found"
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
strPath = FSO.GetParentFolderName (WScript.ScriptFullName)
If FSO.FileExists(strPath & "\MAIN.VBS") Then
objShell.ShellExecute "wscript.exe", _
Chr(34) & strPath & "\MAIN.VBS" & Chr(34), "", "runas", 1
Else
MsgBox "Script file MAIN.VBS not found"
End If
原文参考:http://www.winhelponline.com/articles/185/1/VBScripts-and-UAC-elevation.html
文章来自:http://www.baikewenda.com/tech/os/8/11/a193476027.htm
其它内容推荐:
→E盘程序在启动项中无法正确加载及驱动无法加载(排除病毒因素)
→win2003-IIS监控程序
→ATI公版驱动如果不装控制面板,能否旋转显示器
→vbs收集计算机信息
→如何在xp下硬盘安装2003
→TC的属性标签怎么保存?
→如何设置系统的自动更新
→有用GA-MA78GPM-DS2H主板+XP系统的显存问题
→android手机怎么发彩信
→VEGAS或AE怎么做到视频只有一部分有颜色
→因iastor.sys引起的蓝屏问题
→Win7桌面上的程序快捷方式全都打不开了,怎么办?
→为什么安装ie9时老是安装失败呢?
→Windows7 中文家庭高级版为什么不能激活?
→maya里按P键和约束里的父子有什么区别啊?
→AfterEffect CS3中怎么抠动态图
→win2003-IIS监控程序
→ATI公版驱动如果不装控制面板,能否旋转显示器
→vbs收集计算机信息
→如何在xp下硬盘安装2003
→TC的属性标签怎么保存?
→如何设置系统的自动更新
→有用GA-MA78GPM-DS2H主板+XP系统的显存问题
→android手机怎么发彩信
→VEGAS或AE怎么做到视频只有一部分有颜色
→因iastor.sys引起的蓝屏问题
→Win7桌面上的程序快捷方式全都打不开了,怎么办?
→为什么安装ie9时老是安装失败呢?
→Windows7 中文家庭高级版为什么不能激活?
→maya里按P键和约束里的父子有什么区别啊?
→AfterEffect CS3中怎么抠动态图
推荐内容
·Win7 x64安装时留下的100M隐藏分区能删除吗?
·Windows7如何彻底关闭家长控制
·怎样彻底轰走不请自来的微软拼音输入法
·怎么在Win7系统睡眠状态下继续下载东西
·怎样消除电脑页面转换时的咔嚓声?
·MACBOOK管理员密码忘记的解决办法?
·Windows Update时svhost.exe占用100%CPU的解决方法
·Win7的“管理网络密码”在哪个位置?
·Win7按键定位文件能像WinXP那样吗?
·如何消除在电脑上的搜索记录
·将更新集成进VISTA安装盘的方法
·如何创建用来锁定计算机的快捷方式
·Vista如何默认用TheWorld打开网页?
·Windows各种系统文件无法打开故障解决方法
·如何限制用户登录到其他计算机
·windows7下如何建立快速启动栏
·msi文件不能安装了,怎么办?
·windows vista如何找回透明玻璃效果
·Windows7安装到最后一步不动了怎么办?
·Windows自带局域网断点续传功能的问题
·Windows7如何彻底关闭家长控制
·怎样彻底轰走不请自来的微软拼音输入法
·怎么在Win7系统睡眠状态下继续下载东西
·怎样消除电脑页面转换时的咔嚓声?
·MACBOOK管理员密码忘记的解决办法?
·Windows Update时svhost.exe占用100%CPU的解决方法
·Win7的“管理网络密码”在哪个位置?
·Win7按键定位文件能像WinXP那样吗?
·如何消除在电脑上的搜索记录
·将更新集成进VISTA安装盘的方法
·如何创建用来锁定计算机的快捷方式
·Vista如何默认用TheWorld打开网页?
·Windows各种系统文件无法打开故障解决方法
·如何限制用户登录到其他计算机
·windows7下如何建立快速启动栏
·msi文件不能安装了,怎么办?
·windows vista如何找回透明玻璃效果
·Windows7安装到最后一步不动了怎么办?
·Windows自带局域网断点续传功能的问题