Gå til innhold

koble til en ekstern maskiin ved hjelp av vbs


Anbefalte innlegg

Videoannonse
Annonse
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

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

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 av ilpostino
Lenke til kommentar

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
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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...