|
| AspExec/wscript & IIS 6 - start bat fil Fra : Sune |
Dato : 24-02-05 13:13 |
|
Hej,
Jeg har bøvlet en del med at få AspExec eller wscript til at fungere efter
mit ønske på en W2k3 server med IIS 6. Jeg har behov for at generere og starte
nogle bat scripts regelmæssigt via ASP, og har i den forbindelse stødt panden
mod en mur i min process med at eksekvere filerne fra siden.
Mine batscripts er forholdsvis simple og indeholder blot to linjer der laver
henholdsvis ping og traceroute af en specificeret IP adresse, og gemmer dem
efterfølgende i en txt fil - de virker fint hvis de startes manuelt på serveren.
Jeg har forsøgt at eksekvere med både aspexec.execute og wscript.shell på
utallige måder, herunder ses to eksempler:
'Via AspExec:
Set Executor = Server.CreateObject("ASPExec.Execute")
Executor.Application = "cmd.exe"
Executor.Parameters = "/c c:\Inetpub\wwwroot\scripts\script.bat"
Executor.TimeOut = 10000
Executor.ShowWindow = False
Executor.ExecuteWinApp
'Via wscript:
set wshell = server.createobject("wscript.shell")
wshell.Run "cmd.exe /c c:\Inetpub\wwwroot\scripts\script.bat"
set wshell = nothing
Jeg får ingen fejl når jeg eksekverer ovenstående kode, men mine bat-filer
lader heller ikke til at blive kørt - tekstfilerne bliver i hvert fald ikke
genereret.
Jeg forsøgte endvidere med et eksempelscript fra ServerObjects der foretager
en traceroute. Dette virkede ikke i starten, hvorefter jeg forsøgte at tildele
iusr_servernavn rettigheder til tracert.exe og så virkede det - mit eget
batscript kan dog ikke startes selvom jeg har tildelt rettigheder til følgende:
- bat-filen
- Mappen tekstfilen skal gemmes i
- ping.exe, tracert.exe, cmd.exe
Jeg går stærkt ud fra at fejlen somehow ligger i at IIS ikke tillader at
køre bat-filen (iis sitet har tilladelse til både scripts og at executables),
men hvor er det præcist det går galt og hvad stiller jeg op?
Det er lige meget om det er AspExec eller wscript jeg får til at virke, jeg
skal bare kunne eksekvere de pågældende batscripts.
På forhånd tak.
--
Mvh
Sune
| |
Johnny Winther Ronne~ (25-02-2005)
| Kommentar Fra : Johnny Winther Ronne~ |
Dato : 25-02-05 08:26 |
|
"Sune" <dsl102647@vip.cybercity.NOSPAMdk> skrev i en meddelelse
news:798574632448475861875000@dreader.cybercity.dk...
> Hej,
>
> Jeg har bøvlet en del med at få AspExec eller wscript til at fungere efter
> mit ønske på en W2k3 server med IIS 6. Jeg har behov for at generere og
starte
> nogle bat scripts regelmæssigt via ASP, og har i den forbindelse stødt
panden
> mod en mur i min process med at eksekvere filerne fra siden.
>
-------------------------
> Jeg forsøgte endvidere med et eksempelscript fra ServerObjects der
foretager
> en traceroute. Dette virkede ikke i starten, hvorefter jeg forsøgte at
tildele
> iusr_servernavn rettigheder til tracert.exe og så virkede det - mit eget
> batscript kan dog ikke startes selvom jeg har tildelt rettigheder til
følgende:
> - bat-filen
> - Mappen tekstfilen skal gemmes i
> - ping.exe, tracert.exe, cmd.exe
>
> Jeg går stærkt ud fra at fejlen somehow ligger i at IIS ikke tillader at
> køre bat-filen (iis sitet har tilladelse til både scripts og at
executables),
> men hvor er det præcist det går galt og hvad stiller jeg op?
> Det er lige meget om det er AspExec eller wscript jeg får til at virke,
jeg
> skal bare kunne eksekvere de pågældende batscripts.
Jeg tror du selv har givet svaret nemlig, at det ikke kan lade sig gøre at
kalde et shellscript fra en webside. I al fald ikke uden at definere et
adminstrativt logon til systemet. Scripts og executabels refererer
udelukkende til koponenter installeret på webserveren og ikke til
systemfiler. iusr kontoen har kun adgang til sider på serveren. Jeg er
rimelig sikker på at den ikke har tilladelse til at køre systemfiler.
Når det er sagt så ved jeg også, at der findes webbaserede
administrationsmoduler beregnet til fjernadministration til både W2KS og
W2K3S men jeg har aldrig set eller afprøvet dem, så jeg kan ikke give et bud
på hvordan de er konstrueret. Men jeg vil gætte på ,at de anvender .js eller
vbs og at de startes med en runas med tilhørende prompt for pasword.
Jeg vil tro, at du har større chancer for at få et brugbart svar i
dk.edb.system.ms-windows.server.
Med venlig hilsen
Johnny Winther Ronnenberg
| |
Sune (25-02-2005)
| Kommentar Fra : Sune |
Dato : 25-02-05 13:44 |
|
> Jeg tror du selv har givet svaret nemlig, at det ikke kan lade sig
> gøre at kalde et shellscript fra en webside. I al fald ikke uden at
> definere et adminstrativt logon til systemet. Scripts og executabels
> refererer udelukkende til koponenter installeret på webserveren og
> ikke til systemfiler. iusr kontoen har kun adgang til sider på
> serveren. Jeg er rimelig sikker på at den ikke har tilladelse til at
> køre systemfiler.
>
> Når det er sagt så ved jeg også, at der findes webbaserede
> administrationsmoduler beregnet til fjernadministration til både W2KS
> og W2K3S men jeg har aldrig set eller afprøvet dem, så jeg kan ikke
> give et bud på hvordan de er konstrueret. Men jeg vil gætte på ,at de
> anvender .js eller vbs og at de startes med en runas med tilhørende
> prompt for pasword.
>
> Jeg vil tro, at du har større chancer for at få et brugbart svar i
> dk.edb.system.ms-windows.server.
Hej Johnny,
Tak for dit svar.
Jeg har et andet script kørende der ligeledes skal starte en exe fil via
aspexec, og dette virker fint (på en anden side, samme server), som sagt
kan jeg sagtens køre tracert.exe via det medfølgende eksempelscript, men
det opfylder bare ikke mine behov og jeg har set flere sider der beskriver
de to metoder jeg har forsøgt til at køre shell scripts med, så jeg ved det
er muligt (i hvert fald på w2k), men er blot i tvivl om hvordan og hvorledes
jeg griber det an på w2k3.
Tusind tak for dit tip, tror jeg vil prøve lykken i den gruppe og se om nogen
der kender til de permissions der kan være tale om.
--
Mvh
Sune
| |
|
|