Har någon en idé om var man hittar en komponent/script som kan kolla av en annans dators operativsystem i ett intern nätverk?
Kontroll av Operatisystem "remote"
9 svar · 276 visningar · startad av Zaiman
Nja..
Request.servervariables("HTTP_USER_AGENT")
Den läser bara av när man surfar in till webservern. Jag vill kolla en dator som finns ansluten till det interna nätverket utan att användaren märker av det.
Då är nog inte ASP det bästa alternativet. Skulle nog kika under VB istället?
Eller i VBScript:
Set oLoc = CreateObject("WbemScripting.SWbemLocator")
Set oServices = oLoc.ConnectServer("andradatorn")
Set oObjSet = oServices.InstancesOf("Win32_OperatingSystem")
For each SP in oObjSet
WScript.Echo SP.Name
'Response.Write SP.Name
next
Kräver dock att WMI finns installerat i operativet vilket ME/2000/XP har som standard.
Zaiman skrev:
Finns det något som klarar andra OP-system?
Det beror på vad du menar med andra OP-system. MacOs? *nix? Amiga? Eller bara Windows ..?
Rent generellt så får du naturligtvis ut den info som den andra maskinen ställer upp och ger dig. Om du tex scannar lite portar så är det ju lätt att skilja en Windowsmaskin från en *nix men däremot så kommer du aldrig att kunna skilja en Win98:a från en Win95:a, på det sättet. (Om inte diskarna är utdelade och du kan "titta" rakt ner i filsystemet.)
Bara Windows är intressant.
I scriptdelen du skrev tidigare får jag det endast att fungera om jag är lokalt på webservern. Annars får jag rättighetsproblem "Access denied", även fast jag är domain admin.
Annars får jag rättighetsproblem "Access denied", även fast jag är domain admin.
Fast hur kör du koden? Som en VBS-fil eller ASP-sida. IUSR_DATORNAMN kommer antagligen att få "Access denied". Byt "anonymous user" på sidan till en användare som har högre rättigheter.
Endast windows från NT4 och uppåt.
OK. Fast vad betyder "uppåt" (om jag nu ska dryga mig mer än vanligt). Funktionellt eller kronologiskt? Ligger 98/Me ovanför NT4?
I vilket fall som helst (nu när du berättat att du sitter på en domän) så kunde du kanske prova nån ADSI-variant:
Set objDomain = GetObject("WinNT://dindomän")
objDomain.Filter = Array("Computer")
For each machine in objDomain
machine.GetInfo
WScript.Echo machine.Name & ": " & machine.Operatingsystem & " " & machine.OperatingsystemVersion
'Response.Write machine.Name & ": " & machine.Operatingsystem & " " & machine.OperatingsystemVersion
Next
Eventuellt så funkar den på de som inte svarar på WMI-varianten (dvs Win9x). Jag har inte provat ..