VBS使用RunAs参数创建桌面快捷方式

时间:2017-02-17 20:56:20

标签: vbscript windows-7-x64 runas

我的目标:我正在尝试使用VBS在运行它的当前用户下为IE创建桌面快捷方式,使用带参数的RunAs命令和使用用户输入填充变量的变量(InputBox)提示符。 / p>

操作系统:Win7 x64

工作BAT :(手动填写域\用户名)

list

不工作的VBS:

%windir%\system32\runas.exe /u:Domain\Username "%ProgramFiles%\Internet Explorer\iexplore.exe"

1 个答案:

答案 0 :(得分:0)

TargetPath不是有效字符串时,当进出字符串时,它们应始终以单引号开头和结尾。字符串中的字面引号也必须进行转义,以避免“破坏”字符串并导致语法错误。要在字符串中转义文字引号,请将其加倍。

以下是一些应该有帮助的例子。

Dim TestString
TestString = "Simple string"
'Simple string
TestString = "Concatenated" & " string"
'Concatenated string
TestString = "Another " & TestString & " with a variable"
'Another Concatenated string with a variable
TestString = """Quoted string"""
'"Quoted string"
TestString = "This is a """ & TestString & """ in a variable"
'This is a "Quoted string" in a variable

考虑到这一点,该行应该是

oUrlLink.TargetPath = "%windir%\system32\runas.exe /u:DOMAIN\" & strUser & " ""%ProgramFiles%\Internet Explorer\iexplore.exe"""

输出为:

%windir%\system32\runas.exe /u:DOMAIN\Username "%ProgramFiles%\Internet Explorer\iexplore.exe"

继续the comments

对不起专注于错误的问题,而这是一个问题,主要问题是你如何设置TargetPath。它应该只包含可执行文件的路径,需要使用Arguments属性指定任何参数,所以试试这个。

set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
strUser = InputBox ("Please Enter your Domain Account")
set oUrlLink = WshShell.CreateShortcut(strDesktop & "\RunAs Internet Explorer (Domain Account).lnk")
oUrlLink.TargetPath = "%windir%\system32\runas.exe"
'Use arguments to pass any arguments for the executable.
oUrlLink.Arguments = "/u:DOMAIN\" & strUser & " ""%ProgramFiles%\Internet Explorer\iexplore.exe"""
oUrlLink.IconLocation = "%ProgramFiles%\Internet Explorer\iexplore.exe"
oUrlLink.Save