ilpostino Skrevet 6. mars 2007 Del Skrevet 6. mars 2007 hvis en mater et vbscript med en gitt ip-adresse, noen som vet om det går ann for et vbs-script å koble seg opp til denne maskinen for å finne ut hvilkent os og sånn det er på den? Lenke til kommentar
j000rn Skrevet 6. mars 2007 Del Skrevet 6. mars 2007 hvis en mater et vbscript med en gitt ip-adresse, noen som vet om det går ann for et vbs-script å koble seg opp til denne maskinen for å finne ut hvilkent os og sånn det er på den? 8088769[/snapback] * WMI * ADSI : LDAP (for domene), WinNT Lenke til kommentar
ilpostino Skrevet 6. mars 2007 Forfatter Del Skrevet 6. mars 2007 har kommet lit tpå vei nå og har litt flere spørsmål. Det jeg har laget henter noen ip-adresser fra en tekst-fil men det virker som scriptet kun henter den første ip-adressen. Det jeg lurer på hva slags løkke jeg skal ha for å kjøre igjennom alle ip-adressene i filen? mens jeg tester inneholder et par kopier av min egen ip-adresse for testingens skyld. selve scriptet er her: Klikk for å se/fjerne innholdet nedenfor Option Explicit Dim objWMIService, objProcess, objFileSystem, objInputFile, inputData Dim strShell, objProgram, strComputer, strExe, strInput strExe = "Calc.exe" Set objFileSystem = CreateObject("Scripting.fileSystemObject") Set objInputFile = objFileSystem.OpenTextFile("test.txt", 1) inputData = objInputFile.ReadAll objInputFile.Close Do strComputer = inputdata If strComputer <> "" Then strInput = True End if Loop until strInput = True ' Connect to WMI set objWMIService = getobject("winmgmts://"_ & strComputer & "/root/cimv2") ' Obtain the Win32_Process class of object. Set objProcess = objWMIService.Get("Win32_Process") Set objProgram = objProcess.Methods_( _ "Create").InParameters.SpawnInstance_ objProgram.CommandLine = strExe 'Execute the program now at the command line. Set strShell = objWMIService.ExecMethod( _ "Win32_Process", "Create", objProgram) WScript.echo "Started: " & strExe & " on " & strComputer WSCript.Quit Lenke til kommentar
j000rn Skrevet 6. mars 2007 Del Skrevet 6. mars 2007 while objInputFile.AtEndOfStream = false inputData = objInputFile.ReadLine ' gjør ting med inputData her... wend objInputFile.Close Lenke til kommentar
ilpostino Skrevet 7. mars 2007 Forfatter Del Skrevet 7. mars 2007 * WMI* ADSI : LDAP (for domene), WinNT når scriptet prøver å kontakte andre maskiner ved å bruke WMI blir dette stoppet av den interne brannmuren til Xp? Lenke til kommentar
ilpostino Skrevet 7. mars 2007 Forfatter Del Skrevet 7. mars 2007 (endret) fant ut av overstående men det er et problem jeg har igjen før jeg (forhåpentligvis) er ferdig. Dette scriptet skal lese inn endel ip-adresser fra en tekstfil for så å koble seg til disse maskinene og vise netbiosnavn og et par andre ting. Jeg har lett meg grønn på technet og Google men ikke funnet ut av hvordan jeg får vist netBIOS-navnet til en maskin ved å bruke WMI. Kan noen gi meg en pekepinn? her er scriptet. Klikk for å se/fjerne innholdet nedenfor Option Explicit Dim objFileSystem, objInputFile, inputData Dim objFSO, objFolder, objShell, objTextFile, objFile, strDirectory, strFile, objWord, objAccess, strNavn, WshNetwork, strText Dim strComputer, strInput,objWMIService, objprocess, objprogram, strExe, strShell strDirectory = "logs3" strFile = "\Summer.txt" Set objFileSystem = CreateObject("Scripting.fileSystemObject") Set objInputFile = objFileSystem.OpenTextFile("test.txt", 1) 'Set objWord = CreateObject("Word.Application") 'Set objAccess = CreateObject("Access.Application") Set WshNetwork = WScript.CreateObject("WScript.Network") Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.FolderExists(strDirectory) Then Set objFolder = objFSO.GetFolder(strDirectory) Else Set objFolder = objFSO.CreateFolder(strDirectory) End If If objFSO.FileExists(strDirectory & strFile) Then Set objFolder = objFSO.GetFolder(strDirectory) Else Set objFile = objFSO.CreateTextFile(strDirectory & strFile) End If set objFile = nothing set objFolder = nothing Set objTextFile = objFSO.OpenTextFile (strDirectory & strFile, ForAppending, True) 'OpenTextFile Method needs a Const value. ForAppending = 8 ForReading = 1, ForWriting = 2 Const ForAppending = 2 while objInputFile.AtEndOfStream = false inputData = objInputFile.ReadLine 'strText = "NetBios: " & WshNetwork.ComputerName & " " &"Versjon Word: " & objWord.Version & " "& "Versjon Access: " & objAccess.Version 'objTextFile.WriteLine(strText) Do strComputer = inputData If strComputer <> "" Then strInput = True End if Loop until strInput = True 'strComputer = "132.150.101.155" dim wbemServices, wbemObjectSet, wbemObject 'Set wbemServices = GetObject("winmgmts:\\" & strComputer) Set wbemServices = GetObject("winmgmts:\\" & "132.150.101.155" & "\root\cimv2") 'Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration") For Each wbemObject In wbemObjectSet 'WScript.Echo "Total Physical Memory (kb): " & wbemObject.TotalPhysicalMemory & " på " & "132.150.101.154" 'WScript.Echo "NetBIOS: " & wbemObject.DisplayName & " på " & "132.150.101.154" Next wend objTextFile.Close objInputFile.Close ' Dette åpner Explorer slik at en kan sjekke inholdet i filen If err.number = vbEmpty then Set objShell = CreateObject("WScript.Shell") objShell.run ("Explorer" &" " & strDirectory & "\" ) Else WScript.echo "VBScript Error: " & err.number End If WSCript.Quit Endret 7. mars 2007 av ilpostino Lenke til kommentar
backup Skrevet 8. mars 2007 Del Skrevet 8. mars 2007 Kanksje dette er av interesse: set ws = CreateObject("Wscript.network") maskinNavn=ws.computername Set wshShell = CreateObject("wscript.shell") wshShell.Run "%COMSPEC% /c nbtstat -a " & maskinNavn & ">" & "c:/xx.txt", 0, True Kjør scriptet og se i c:/xx.txt. Der finner du kanskje ting av interesse. Så kan du f.eks. tilføye scriptet en innlesningsrutine av xx.txt for å få tak i de interessante data. Lenke til kommentar
j000rn Skrevet 8. mars 2007 Del Skrevet 8. mars 2007 Kanksje dette er av interesse: set ws = CreateObject("Wscript.network") maskinNavn=ws.computername Set wshShell = CreateObject("wscript.shell") wshShell.Run "%COMSPEC% /c nbtstat -a " & maskinNavn & ">" & "c:/xx.txt", 0, True Kjør scriptet og se i c:/xx.txt. Der finner du kanskje ting av interesse. Så kan du f.eks. tilføye scriptet en innlesningsrutine av xx.txt for å få tak i de interessante data. 8104875[/snapback] Trenger ikke pipe det ut til en tmpfil engang. Ex: set nbstat = wshShell.Run "%COMSPEC% /c nbtstat -a " & maskinNavn While Not nbstat.StdOut.AtEndOfStream str = nbstat.StdOut.ReadLine() '.... Wend Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå