webForumDet fria alternativet

ASP med VBscript

ASP

11 svar · 637 visningar · startad av niNe

Medlem sedan maj 2005138 inlägg
Frågan#1

Tjo

Sitter o knåpar lite på en site där man ska kunna klicka på en knapp/bild och då ska cmd öppnas och den ska pinga ett visst ip.

Körde enligt följande modell:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c c: & ping 127.0.0.1 & pause"

Detta fungerade ju dock inte.... Får object required på Set wshellraden...

Varför går det inte att köra dessa kommandon via en ASP-VBscriptsite?!

Medlem sedan okt. 20041 556 inlägg
#2

Byt ut: WScript.CreateObject
mot: Server.CreateObject

Dock måste du ha rättigheter på servern för att köra shell-commandon

Medlem sedan maj 2005138 inlägg
#3

Jag måste göra något fel... Byter ut den mot Server.CreateObject men den länkar ändå bara tillbaks till förstasidan... Kör full access på IISen och har både scripts och executables aktiverat...

Medlem sedan juni 200032 967 inlägg
#4

Vad menar du med "länkar tillbaks till förstasidan"?
Exakt vad hade du tänkt skulle hända?

Om du nu skulle lyckas exekvera raden i fråga så kommer du nog inte att märka det. Det är ju inte så att ASP-sidan slänger upp ett cmd-fönster...

Edit: Om du vill att klienten ska pinga, så är kan du väl prova att lägga koden på klientsidan i <script>, utan att blanda in ASP.

Medlem sedan maj 2005138 inlägg
#5

Ah, ska prova det..

Medlem sedan maj 2005138 inlägg
#6

Om jag nu ska lägga den i en <script>tagg, hur går jag till väga för att köra den med en länk?

Koden jag vill köra ligger längst upp i tråden...

Det jag vill ska hända är att jag har en söksida, där jag kan söka efter serverar eller klientmaskiner i nätet, och sedan pinga dessa direkt genom sidan. Vill ju då ha ett aktivt CMDfönster eller något annat som jag ser så jag ser att den fungerar.

Medlem sedan dec. 19996 721 inlägg
Medlem sedan feb. 20011 198 inlägg
#8

Se nedan inlägg.

Medlem sedan feb. 20011 198 inlägg
#9

Kan detta hjälpa?

<html>
<title>Ping</title>
<head>
</head>
<body>
<%
	serverID = Request.QueryString("serverID")
	strServer = Request.QueryString("serverName")
strserverIP=Request.QueryString("serverIP")

		if instr(1,strServer," ")>=0 and strserverIP<>"" then
		if instr(1,strserverIP,",")>0 then
			strserverIP = left(strserverIP,instr(1,strserverIP,",")-1)
		end if
		strServer=strserverIP
	end if
	if strServer <> "" then
		Set objShell = CreateObject("WScript.Shell")
		Set objScriptExec = objShell.Exec("ping -n 4 -w 1000 " & strServer)
		strPingResults = LCase(objScriptExec.StdOut.ReadAll)
		Response.Write replace(replace(replace(strPingResults,vbcrlf,"<br>"),"	","&nbsp;&nbsp;&nbsp;&nbsp;")," ","&nbsp;")
		Set objScriptExec = nothing
		Set objShell = nothing
	else
		Response.Write "No Server."
	end if
%>
<br><input type="button" value="Close" onclick="vbscript:window.close">
</body>
</html>
Medlem sedan maj 2005138 inlägg
#10

Din kod verkar vara något åt det hållet som jag vill ha det... Tyvärr händer ju ingenting när jag kör det... ping.asp?serverIP=192.168.0.1 osv osv... Den bara står o laddar i evigheter....

Medlem sedan okt. 20041 556 inlägg
#11

Testa att lägga till:
<% Response.Buffer=false %>

Högst upp på sidan.

Medlem sedan maj 2005138 inlägg
#12

Löste problemet... Dock inte med detta script utan ett från ett annat forum.

Hade inte skapat en mapp med skrivrättigheter på webbservern :O

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)