Jag försöker lära mig WMI tillsammans med ASP (klassisk), men har stött på lite problem. Hej Anders, Tackar för svaret!ASP och WMI problem.
Följande kod fungerar utmärkt om jag kör den som .vbs fil på min dator, men när jag försöker köra den som i asp-filen så får jag fel:
<code>
Feltyp:
(0x80041003)
/biljarden/showComp.asp, line 80
Webbläsare:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)
</code>
(När jag har provat lite andra script så brukar jag få fel på "GetObject")
Koden:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk")
For Each objDisk in colDisks
Wscript.Echo "DeviceID: " & objDisk.DeviceID
Wscript.Echo "Disk Size: " & objDisk.Size
Next
Vad kan det vara som är fel?
Sv: ASP och WMI problem.
Jag tror spontant att detta är ett rättighetsproblem. Om du kör via cmd så är det du som inloggad som kör skriptet och du är säkert admin. När du kör via asp-sidan är det kontot guest eller iusr_xxx som kör. Det som skiljer är alltså att samma script körs av 2 olika konton som också av säkerhetsskäl har olika rättigheter.
Antingen kan du kanske om du är våghalsig öka rättigheterna på guest. En annan variant är att skriva samma rutin via ex vb6 och göra en dll som du lägger in i MTS. Då kan du säga att den dll:en skall köras av ett visst konto och då kan du sätta så höga rättigheter du vill vilket minskar risken att någon gör något dumt.
Med dumt är att dom kanske kan ladda upp en vbs-fil och sen surfa till den vilket medför att den då körs på din server, en format c: är inte kul :-)
Hoppas denna information hjälper dig att fortsättaSv:ASP och WMI problem.
Ska kolla på DLL allternativet!
Men försvinner inte lite av poängen med WMI om man måste skapa DLL:er för allt?
En snabb fråga dock, vad är MTS? :)
/Anders