Мне нужна помощь в выполнении командного файла с клиента (доступ через HTTP-интрасеть выполняется с использованием ASP Classic).Выполнение пакетного файла asp classic
OS используется:
- Client (Windows XP) - Вот где пользователь будет иметь доступ к странице HTML.
- Сервер (Windows server 2003) - Здесь создается папка, включая командный файл. Это также, где страницы ASP и HTML-страницы хранятся и проходят через IIS
Сценарий:
Пользователь будет доступ к странице 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>
После заполнения форм будут выполняться следующие коды.
-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
%>
ошибки:
«Нет были отображены ошибки. "
-Есть уже предоставить IUSR, IWAM, IIS_WPG включая NETWORK SERVICE полного разрешения на корневую папку из-за отчаяния .. :(
Проблема:
Пакетный файл не выполняется или, может быть, не читается (его, как пакетный файл, не открывается, чтобы выполнить его содержимое) .Если я запустил его вручную или попал в командный файл, он отлично работает. Что, по-видимому, проблема? Это на моем ASP?
- Я уже отслеживал процесс или файл, к которому клиент обращается с помощью приложения «Filemon», и все результаты cess из w3wp.exe и cmd.exe. -Я пробовал создать vbscript для выполнения этой партии, а vbscript вызывается asp.
Все еще не повезло. :(
Вам нужны разрешения «низкого уровня» здесь, а не только в одной папке. Попробуйте настроить IIS для запуска учетной записи администратора, или другой вариант выберите «Интегрированная проверка подлинности Windows», если он подключен через сеть. –