shjgm78님의 블로그 | 빈센시오
http://blog.naver.com/shjgm78/120037473518
서버에서 프로그램을 실행해야 하는 경우 유용하게 쓰일것 같네요...
로컬 (IIS와 같은 컴퓨터)에서는 예전에 Han님이 소개해 주신 HanWSC.Object 를
사용해야 합니다. 아래링크를 참조하시길...
1.exec.asp 파일을 만든다.
2. c:\ 에 makefolder.vbs 폴더를 만든다.
윈도우 작업관리자로 확인하면 프로그램 실행여부를 알수 있습니다.
--------1. exec.asp -------------
<%
Dim ProcID
bClose = Request("bClose")
uip = Request("uip")
uid = Request("uid")
upw = Request("upw")
cmd = Request("cmd")
if Len(cmd) > 0 then
call ExecProgram()
end if
if bClose = "1" then
call TerminateProgram(ProcID)
end if
function GetLoc()
NSpace = "root\CIMV2"
Set oLoc = CreateObject("WbemScripting.SWbemLocator")
Set wn = CreateObject("WScript.NetWork")
sn = wn.ComputerName
Set wn = Nothing
if (uip="") or (uid="") or (upw="") then
Set oh = CreateObject("HanWSC.Object")
Set oSvc = oh.GetHObject("winmgmts:\\" & sn & "\" & NSpace)
Set oh = Nothing
else
Set oSvc = oLoc.ConnectServer(uip,NSpace,uid,upw)
end if
Set GetLoc = oSvc
end function
sub ExecProgram()
Set obj = GetLoc()
Set oProc = obj.Get("Win32_Process")
rs = oProc.Create(cmd,null,ot,ProcID)
Set oProc = Nothing
Set obj = Nothing
end sub
sub TerminateProgram(p_id)
Set obj = GetLoc()
Set p = obj.ExecQuery("Select * from " _
& " Win32_Process where ProcessId='" & p_id & "'")
if (p.count) > 0 then
for each t1 in p
iv = t1.Terminate(0)
next
end if
Set p = Nothing
Set obj = Nothing
end sub
if Len(ProcID) > 0 then Response.write ProcID & "<br>"
%>
<html>
<head>
<script language="javascript">
function chgSel(){
var frm = document.form1;
var sel = document.form1.selCmd;
var idx = sel.selectedIndex;
frm.cmd.value = sel.options[idx].value;
}
</script>
</head>
<body>
<form name="form1" method="post">
<input type="checkbox" value="1" name="bClose">실행후 프로그램 종료
<br><br>
<select name="selCmd" onchange="chgSel();">
<option value="">명령 선택</option>
<option value="calc.exe">calc.exe</option>
<option value="wscript c:\makefolder.vbs">makefolder.vbs</option>
<option value="notepad.exe">notepad.exe</option>
</select>
명령줄 : <input type="test" name="cmd" size="50">
<br><br>
<hr>
<br><br>
다른 컴퓨터에는 아래의 값을 모두 입력 <br><br>
IP Addr : <input type="text" name="uip"><br>
User ID :<input type="text" name="uid" value="Administrator"><br>
User PW : <input type="text" name="upw"><br>
<br><br>
<input type="submit" value="실행">
</form>
</body>
</html>
-------- 2.makefolder.vbs ----------------
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("c:\aspnewsgroup")
Set f = Nothing
Set fso = Nothing
'프로그래밍 > ASP' 카테고리의 다른 글
[Asp]페이징 클래스 소스 (0) | 2008.07.01 |
---|---|
WSH - WScript 와 CSciprt (0) | 2008.06.29 |
ASP/천원단위 콤마 찍기(Formatnumber, Form.. (0) | 2008.06.29 |
한자->한글로 변환하기 (0) | 2008.06.29 |
테이블 정의서 (0) | 2008.06.29 |