在 JS 函数中包含变量字符串(HTA 应用程序)
Include variable string inside JS function (HTA app)
我试图在 cmd /c runas
命令中包含变量,我使用 JS 函数,它给我一个错误,指出找不到指定的文件。
我想我使用了错误的变量调用或其他东西。
这是我的函数:
function runasSRVhta(){
var WShell = new ActiveXObject('WScript.Shell');
// var srvDude = document.getElementById("SRVinput").value;
var SRVguy = "someadmin.srv";
WShell.Run('cmd /c runas /u:sa.local\SRVguy "c:\windows\system32\mshta.exe """\\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta""""', 1, true);
}
而不是运行跟随命令作为someadmin.srv它运行它的变量名,而不取值。
问题在这里 - cmd /c runas /u:sa.local\SRVguy
,SRVguy 应该是从 var SRVguy = "someadmin.srv";
中获取的变量
- 更新
我也试过下面的函数,它检测变量值,但是我的 HTA 给了我另一个错误,说它找不到指定的文件。
function testsrv() {
var shell = new ActiveXObject("WScript.Shell");
var SRVguy = "someadmin.srv";
var SRVguyaftertext = 'c:\windows\system32\mshta.exe """\\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta"""';
var satavesrv = 'cmd /c runas /u:sa.local\';
var theend = "'" + satavesrv + SRVguy + ' "' + SRVguyaftertext + '"' + "'";
document.write(theend);
var path = theend;
shell.run(theend,1,false);
}
哦,我用 document.write 检查输出是否正确,这是输出:
'cmd /c runas /u:sa.local\someadmin.srv "c:\windows\system32\mshta.exe """\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta""""'
第二个函数似乎一切正常,但 HTA 弹出一条错误消息,指出找不到指定的文件...
尝试使用模板字符串将变量包含在这样的字符串中
WShell.Run(`cmd /c runas /u:sa.local\${SRVguy} "c:\windows\system32\mshta.exe """\\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta""""`, 1, true);
-更新
WShell.Run('cmd /c runas /u:sa.local\' +SRVguy + ' "c:\windows\system32\mshta.exe """\\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta"""', 1, true);
我试图在 cmd /c runas
命令中包含变量,我使用 JS 函数,它给我一个错误,指出找不到指定的文件。
我想我使用了错误的变量调用或其他东西。
这是我的函数:
function runasSRVhta(){
var WShell = new ActiveXObject('WScript.Shell');
// var srvDude = document.getElementById("SRVinput").value;
var SRVguy = "someadmin.srv";
WShell.Run('cmd /c runas /u:sa.local\SRVguy "c:\windows\system32\mshta.exe """\\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta""""', 1, true);
}
而不是运行跟随命令作为someadmin.srv它运行它的变量名,而不取值。
问题在这里 - cmd /c runas /u:sa.local\SRVguy
,SRVguy 应该是从 var SRVguy = "someadmin.srv";
- 更新
我也试过下面的函数,它检测变量值,但是我的 HTA 给了我另一个错误,说它找不到指定的文件。
function testsrv() {
var shell = new ActiveXObject("WScript.Shell");
var SRVguy = "someadmin.srv";
var SRVguyaftertext = 'c:\windows\system32\mshta.exe """\\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta"""';
var satavesrv = 'cmd /c runas /u:sa.local\';
var theend = "'" + satavesrv + SRVguy + ' "' + SRVguyaftertext + '"' + "'";
document.write(theend);
var path = theend;
shell.run(theend,1,false);
}
哦,我用 document.write 检查输出是否正确,这是输出:
'cmd /c runas /u:sa.local\someadmin.srv "c:\windows\system32\mshta.exe """\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta""""'
第二个函数似乎一切正常,但 HTA 弹出一条错误消息,指出找不到指定的文件...
尝试使用模板字符串将变量包含在这样的字符串中
WShell.Run(`cmd /c runas /u:sa.local\${SRVguy} "c:\windows\system32\mshta.exe """\\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta""""`, 1, true);
-更新
WShell.Run('cmd /c runas /u:sa.local\' +SRVguy + ' "c:\windows\system32\mshta.exe """\\fs\FIle Share\SA Support\ZverTools\giveMeIPsPLZ.hta"""', 1, true);