02. november 2005 - 17:46Der er
15 kommentarer og 1 løsning
Script der ikke vil virke
<%@ LANGUAGE="VBSCRIPT"%> <% strIP = Request.ServerVariables("REMOTE_ADDR") strMac = GetMACAddress(strIP) strHost = Request.ServerVariables("REMOTE_HOST") function GetMACAddress(strIP) Set net = Server.CreateObject("wscript.network") Set sh = Server.CreateObject("wscript.shell") sh.run "%comspec% /c nbtstat -A " & strIP & " > E:\Internet Information Folder\" & strIP & ".txt",0,true Set sh = nothing Set fso = createobject("scripting.filesystemobject") Set ts = fso.opentextfile("E:\Internet Information Folder\" & strIP & ".txt") macaddress = null Do While Not ts.AtEndOfStream data = ucase(trim(ts.readline)) if instr(data,"MAC ADDRESS") Then macaddress = trim(split(data,"=")(1)) Exit Do End if loop ts.close Set ts = nothing 'fso.deletefile "E:\Internet Information Folder\" & strIP & ".txt" Set fso = nothing GetMACAddress = macaddress End function %>
Hvis jeg prøver at køre det her, får jeg at vide "Tilladelse Nægtet"
Hvad er det så jeg skal gøre..?? Jeg har været inde i IISen, og den står til både læse og skrive rettigheder. Det er hellere ikke Filen den ikke vil skrive til computeren. Jeg tror det er Commando Prompen den ikke må få tilladelse til at bruge
Du skal finde ud af hvad den bruger, som køre scriptet, hedder - og så skal du kive srive rettigheder til denne. Jeg er ikke helt sikker på hvad brugeren hedder, men nok noget i denne stil: "ASPNET"...
I IIS 5.1 + Windows XP Pro har du nogen af følgende muligheder...
(o) Du kan åbne IIS og højreklikke på dit projekt. Herefter kan du vælge Egenskaber. Under fanen Mappe, har du mulighed for under "Tilladelse til at køre programmer" at vælge "Scripts og eksekverbare filer". Normalt står den til "Kun scripts", og dette kan jo sagtens forklare at du ikke kan køre dit sh.run.
(o) I samme mappe har du også mulighed for at hakke af i feltet Skriveadgang. Normalt er dette ikke tilladt.
(o) Under fanen "Mappesikkerhed" har du mulighed for at redigere "Styring af anonym adgang". Den bruger, som vil køre dine scripts hedder noget i stil med IUSR_WSxxx.
(o) Du kan åbne din Stifinder og finde frem til den mappe hvor dit sctipt forsøger at skrive til (E:\Internet Information Folder). Hvis du højreklikker på denne, og vælger Egenskaber, kan du efterfølgende sætte skriverettighederne for de forskellige brugere. Det er så brugeren WSxxx som skal have skriverettigheder.
Prøv at finde ud af om det er kørsels-rettigheder eller skrive-rettigheder den er galt med. Det bør du kunne gøre ved at udelade den del hvor der skrives:
Tja, den del giver samme besked. Og det passer også fint, for jeg har andre steder på min website hvor der skrevet filer og andre ting til serveren, og det er der ingen problemer med...
Jeg har alle de rettigheder der skal til vil jeg mene, men det vil sku bare ikke virke ... Men ligemeget med det. Hvis det er så svært at få det til at virke på min egen maskine, så får jeg det sku aldrig til at virke på en lejet server alligevel.
Bare smid et svar, så får du lige får din tolmodighed og tid :)
Jeg er sikker på at dit problem skyldes at du mangler at give en rettighed et eller andet sted. Jeg tror nu heller ikke at der nødvendigvis burde være problemer med at få den til at virke på en lejet server - dem som lever at at leje sådan nogle ud burde vide helt præcist hvad der skal til.
Desværre har jeg ikke selv adgang til en IIS som jeg kan tillade mig at eksperimentere med, så jeg kan ikke rigtigt hjælpe dig vidre på denne her. :^(
Så, nej tak til point på denne her. Jeg tager normalt kun point for at levere løsninger, ikke for at være tålmodig... Så læg du bare selv et svar og tag dine point tilbage. :^)
Det er nu helt fint - jeg mangler alligevel ikke point voldsomt meget. :^)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.