我需要帮助,从客户端执行批处理文件(通过HTTP访问内网使用执行已ASP经典)。使用批处理文件执行ASP经典
OS:
- 客户端(Windows XP中) - 这里是用户将访问HTML页面。
- 服务器(Windows Server 2003) - 这里是正在创建指定文件夹,包括批处理文件。这也是ASP页和HTML页存储,并通过IIS
情况下运行:
用户将访问链接到一个asp页面的HTML页面....
HTML代码:
<html>
<body>
<form method="GET" action="default.asp">
Name<input type="text" name="firstname"/>
Uname<input type="text" name="username"/>
Fulname<input type="text" name="fullname"/>
Pass<input type="text" name="password"/>
Qwarning<input type="text" name="qwarning"/>
Qlimit<input type="text" name="qlimit"/>
<input id="submit" type="submit" value= "submit" />
</form>
</body>
</html>
填写表格后,将执行以下asp代码。
-The下面的代码将创建一个文件夹,并创建一个批处理文件,将创建一个用户帐户,并设置其帐户权限
ASP代码:
<%
'Folder Creation
dim fs
Dim name,uname,fulname,pass,qlimit,qwarning
name = Request.QueryString("firstname")
uname = Request.QueryString("username")
fulname = Request.QueryString("fullname")
pass = Request.QueryString("password")
qlimit = Request.QueryString("qlimit")
qwarning = Request.QueryString("qwarning")
'Batch File Creation
set fs=Server.CreateObject("Scripting.FileSystemObject")
if NOT fs.FolderExists("c:\dept\" & name) Then
fs.Createfolder("c:\dept\" & name)
response.write name &" successfully created"
else
response.write name &" is already exist!"
end if
set fs=nothing
dim fsc,cfile
set fsc=Server.CreateObject("Scripting.FileSystemObject")
set cfile=fsc.CreateTextFile("c:\dept\" & name & ".bat")
'User Creation
cfile.writeline("echo off")
cfile.writeline("cd\")
cfile.writeline("Net User " & uname & " " & pass & " /add /comment:""Created by Mystic System"" /expires:never /fullname:""" & fulname & """ /passwordchg:no")
cfile.writeline("WMIC USERACCOUNT WHERE ""Name='" & uname & "'"" SET PasswordExpires=False")
'USER QUOTA
cfile.writeline("fsutil quota modify c: 104857600 209715200 WINDOWS-GDKLDNY\" & uname)
'Creation OF Permision to folder
cfile.WriteLine("cacls c:\dept\" & name & " /e /P Administrator:F")
cfile.WriteLine("cacls c:\dept\" & name & " /e /P " & uname & ":R")
cfile.WriteLine("cacls c:\dept\" & name & " /e /G " & uname & ":W")
cfile.WriteLine("del /a " & "c:\dept\" & name & ".bat")
cfile.close
set cfile=nothing
set fsc=nothing
set perm=nothing
set wshell = CreateObject("WScript.Shell")
wshell.run "c:\dept\" & name & ".bat"
set wshell = nothing
%>
错误:
“不错误已被显示。“
-I已经授予IUSR,IWAM,IIS_WPG包括由于绝望网络服务完全权限的根文件夹.. :(
问题:
批处理文件不执行或可能没有被读取(其像批处理文件是不开放执行其内容)。如果我手动运行,或打在它运行完美的批处理文件。什么似乎是问题的输入?它是不是在我的ASP?
-I've已经监视的进程或文件正在由客户端使用“Filemon的”应用程序访问,结果都是SUC从w3wp.exe和cmd.exe中删除。 -I've尝试创建一个VBScript来执行批次和VBScript是由ASP调用。
仍然没有运气。 :(
此处需要“低级别”权限,而不仅限于单个文件夹。尝试设置IIS以运行管理员帐户,或者如果通过网络连接,则选择其他选项“集成Windows身份验证”。 – 2013-02-17 08:22:17