Frage : Mühe mit VBScript, das Seriennummern über Netz zurückholt

Ich habe ein VBScript, das IP von einer Textdatei nehmen soll und die Maschine zu fragen und sie zurückzubringen Computerbezeichnung, Modell und Service-Umbau/Seriennummer in Excel Document.

However ist, ich zurückbringe eine Störung auf Linie 75 und morgens, das jemand hofft, kann helfen… Unter ist der gesamte Code. Auch, wenn Sie den Code um Linie 88-93 betrachten, sagt er Büro 2003/office 2007, weil es eine Änderung in den Aktennamen gibt, die sie sie wie spart. Er speichert ihn als .xls oder unterschiedlichen etwas. Ich denke nicht, dass dieses eine Ausgabe zwar ist, weil es heraus vorher.

I schätzt jede mögliche Hilfe! erroring! Dank soviel.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
 ' Textdatei, zum von zu lesen
 strReadFile = „C:\computers.txt“

 'Akte übertreffen, um zu verursachen
 sXLS = „C:\service tags.xls“  

 objFSO = CreateObject („Scripting.FileSystemObject“) einstellen
 Das objTS = objFSO.OpenTextFile (strReadFile) einstellen
 objShell = CreateObject („WScript.Shell“) einstellen

 objExcel = CreateObject („Excel.Application“) einstellen
	objExcel.Application.DisplayAlerts = falsch
	objExcel.Visible = richten aus

 	objExcel.Workbooks.Add

	'die Spaltentitel definieren
    	objExcel.Cells (1.1). Wert = „Computerbezeichnung“
    	objExcel.Cells (1.2). Wert = „Modell“
   	objExcel.Cells (1.3). Wert = „Service-Umbau“

      	xRow = 1
      	yColumn = 1

	'Arten an den Reihen und an den Spalten anwenden
   	Bis yColumn = tun 4
       		objExcel.Cells (xRow, yColumn). Font.Bold = richten aus
    		objExcel.Cells (xRow, yColumn). Font.Size = 11
    		objExcel.Cells (xRow, yColumn). Interior.ColorIndex = 11 
    		objExcel.Cells (xRow, yColumn). Interior.Pattern = 1
    		objExcel.Cells (xRow, yColumn). Font.ColorIndex = 2
    		objExcel.Cells (xRow, yColumn). Borders.LineStyle = 1
    		objExcel.Cells (xRow, yColumn) .WrapText = richten aus
	yColumn = yColumn + 1
      	Schleife

	x = 2
	y = 1

  'anfangen, von der Textdatei, bis das Ende zu lesen
  Bis objTS.AtEndOfStream tun
    strComputer = objTS.ReadLine

		'überprüfen, ob die Computerbezeichnung pingbale ist, wenn nicht dann Zeilensprung zum folgenden Namen
		Wenn (IsPingable (strComputer) = richten) aus, dann
  		   objWMIService = GetObject einstellen („winmgmts: “ _
			u. „{impersonationLevel=impersonate}! \ \“ _
			u. strComputer u. „\ Wurzel \ cimv2“)

			colComputer = objWMIService.ExecQuery _ einstellen
				(„* von Win32_ComputerSystemProduct“, „von WQL“, 48 VORWÄHLEN)
			y1 = y

			Wenn Err.number=0 dann
  				Für jedes objComputer im colComputer
      					objExcel.Cells (x, y1). Wert = strComputer
      					y1 = y1 + 1 'gehen zur folgenden Spalte
      					objExcel.Cells (x, y1). Wert = objComputer.Name
      					y1 = y1 + 1 'gehen zur folgenden Spalte
      					objExcel.Cells (x, y1). Wert = objComputer.IdentifyingNumber
      					x = x + 1 'gehen zur folgenden Reihe
				Zunächst

			Sonst
      					objExcel.Cells (x, y1). Wert = strComputer
      					y1 = y1 + 1 'gehen zur folgenden Spalte
      					objExcel.Cells (x, y1). Wert = „Modell nicht gefunden!“
      					y1 = y1 + 1 'gehen zur folgenden Spalte
      					objExcel.Cells (x, y1). Wert = „Serie nicht gefunden!“
      					x = x + 1 'gehen zur folgenden Reihe
			Beenden wenn
			Err.clear

		Sonst
      			objExcel.Cells (x, y1). Wert = strComputer
      			y1 = y1 + 1 'gehen zur folgenden Spalte
      			objExcel.Cells (x, y1). Wert = „nicht Pingable“
      			x = x + 1 'gehen zur folgenden Reihe
			
  	    	Beenden wenn
   Schleife

 objExcel.Columns („A: C“). Auserwählt
 objExcel.Selection.HorizontalAlignment = 3 'zentrieren alle Daten
 objExcel.Selection.Borders.LineStyle = 1 'wenden Ränder an
 objExcel.Columns („A: AH“) .EntireColumn.AutoFit 'autofit alle Spalten

 appVerInt = spaltete auf sich (objExcel.Version, „.") (0)
	Wenn appVerInt-Excel2007 >=0 dann
  	    objExcel.ActiveWorkbook.SaveAs (sXLS), 56 'Büro 2007
	Sonst
  	    objExcel.ActiveWorkbook.SaveAs (sXLS), 43 'Büro 2003
	Beenden wenn

 objExcel.Quit

 objExcel einstellen = nichts
 objTS.Close


msgbox „erfolgt!“
WScript.Quit


Funktion IsPingable (ByVal strHost)
  Wenn Ordnung (strHost) <> "" dann
     strCommand = „Ping.exe - n 3 - w 750“ u. strHost
     objExecObject = objShell.Exec _ einstellen
        („%comspec% /c Titel“ u. strHost _
        u. chr (38) u. strCommand)
     Tun während nicht objExecObject.StdOut.AtEndOfStream
        strText = objExecObject.StdOut.ReadLine ()
        Wenn Instr (strText, „TTL=") > 0 _
          Dann richten IsPingable = aus: Ausgang tun
     Schleife
     Wenn IsPingable = dann ausrichten
        Mit GetObject („winmgmts: Wurzel \ cimv2“)
           Für jedes objProcess im .ExecQuery _
              („AUSERWÄHLTES commandline VON Win32_Process“ _
              u. „, WO Name = „ping.exe““, 48)
              Wenn objProcess.com mandline = strCommand _
                Dann objProcess.Terminate (): Für herausnehmen
           Zunächst
        Ende mit
     Beenden wenn
  Beenden wenn
  Wenn (nicht IsPingable = richten) aus, dann IsPingable = falsch
Enden-Funktion

Antwort : Mühe mit VBScript, das Seriennummern über Netz zurückholt

Die Eigenschaften des Herzschlag NIC auf allen Netzknoten öffnen, zu den vorgerückten Einstellungen des IP-Protokolls und zum uncheck „Register gehen dieser Anschluss in DNS“ in der DNS Tab.
Während Sie das Herzschlag NIC zusammenbauen, NetBIOS über TCP/IP im GEWINN-Vorsprung sperren, und „Klienten für Microsoft-Netze“ und „die Akte und Drucker befreien, die für Microsoft-Netze“ von diesem NIC, auch teilen; der Herzschlag erfordert nur TCP/IP.
Weitere Lösungen  
 
programming4us programming4us