Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit VBscript WMI-Daten in Excel schreiben

Frage Netzwerke Netzwerkmanagement

Mitglied: degNLB

degNLB (Level 1) - Jetzt verbinden

12.09.2012, aktualisiert 14:38 Uhr, 2968 Aufrufe, 2 Kommentare

Hallo,

ich habe für mein Netzwerk ein Script geschrieben, welches Momentan für einen Wunschrecher div. Daten aus der Registry ausliest über WMI und diese Daten erfolgreich in eine Textdatei schreibt.
Ich Prüfe erst, welche Windows-Version installiert ist und hole mir anschließend die Daten (da ich noch Neuling in Sachen VB-Script bin, bitte nicht wundern wegen der Übersichtlichkeit etc ;) )
Mein Problem welches ich momentan habe ist, dass ich die Daten gerne in eine Excel-Tabelle hätte, mich aber schwer tu, dieses zu realisieren.
Desweiteren wäre ein weiterer Schritt - zu dem ich hin will-, dass das Script meinen ganzen IP-Adressraum durchsucht, die vergebenen IP-Adressen + Rechnernamen heraussucht und diese dann mit den Registry-Daten hintereinander in die Excel-Tabelle schreibt (aber das ist erstmal nicht so wichtig, vielmehr würde ich gerne erstmal hinbekommen, dass ich die Daten in Excel ausgeben kann).
Hier der "txt-Datei"-Quellcode... mit meinen Excel-versuchen verschone ich euch lieber:



01.
option explicit 
02.
 
03.
Const HKEY_LOCAL_MACHINE = &H80000002 
04.
Dim WshShell 
05.
Dim wmi_object 	 
06.
Dim TxtDatei   	 
07.
Dim oTxt 		 
08.
Dim strValue 	 
09.
Dim ma_pkey, ma_w7ulti_path, ma_w7_vkey, win_version_path, win_version_key, win_sp_key, ma_path, xp_path, xp_key, xp_sp_path 
10.
Dim AbfragePc		'Welcher PC abgefragt wird 
11.
 
12.
ma_path			 = "SOFTWARE\McAfee\DesktopProtection"				 
13.
ma_pkey 		 = "Product" 
14.
ma_w7ulti_path 	 = "SOFTWARE\Wow6432Node\McAfee\DesktopProtection"  
15.
ma_w7_vkey   	 = "szProductVer" 
16.
win_version_path = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"  
17.
win_version_key  = "ProductName" 
18.
win_sp_key		 = "CSDVersion" 
19.
xp_path			 = "SOFTWARE\Microsoft\Windows NT\CurrentVersion" 
20.
xp_key			 = "ProductName" 
21.
xp_sp_path		 = "SOFTWARE\Microsoft\Windows NT\CurrentVersion" 
22.
 
23.
AbfragePc = "." 
24.
 
25.
set TxtDatei = CreateObject ("Scripting.FileSystemObject") 
26.
set WshShell = CreateObject("WScript.Shell")  
27.
set oTxt = TxtDatei.OpenTextFile("C:\temp\" & AbfragePc & ".txt" , 8 , true) 
28.
 
29.
set wmi_object = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
30.
	AbfragePc & "\root\default:StdRegProv") 
31.
 
32.
 
33.
wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_version_key, strValue	 
34.
if strValue = "Windows 7 Ultimate" then 
35.
	wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_w7ulti_path, ma_pkey, strValue 
36.
	oTxt.WriteLine "Programm:  " & strValue 
37.
	wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_w7ulti_path, ma_w7_vkey, strValue 
38.
	oTxt.WriteLine "Produktversion:  " & strValue 
39.
	wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_version_key, strValue 
40.
	oTxt.WriteLine "Windowsversion -64Bit:  " & strValue 
41.
	wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_sp_key, strValue 
42.
	oTxt.WriteLine "ServicePack:   " & strValue 
43.
		else 
44.
			if strValue = "Microsoft Windows XP" then 
45.
				wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_path, ma_pkey, strValue 
46.
				oTxt.WriteLine "Programm:  " & strValue 
47.
				wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_path, ma_v_xp_key, strValue 
48.
				oTxt.WriteLine "Produktversion:  " & strValue 
49.
				wmi_object.GetStringValue HKEY_LOCAL_MACHINE, xp_path, xp_key, strValue 
50.
				oTxt.WriteLine "Windowsversion:  " & strValue 
51.
				wmi_object.GetStringValue HKEY_LOCAL_MACHINE, xp_sp_path, win_sp_key, strValue 
52.
				oTxt.WriteLine "ServicePack:  " & strValue 
53.
				else 
54.
					if	strValue = "Windows 7 Professional" then 
55.
						wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_w7ulti_path, ma_pkey, strValue 
56.
						oTxt.WriteLine "Programm:  " & strValue 
57.
						wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_w7ulti_path, ma_w7_vkey, strValue 
58.
						oTxt.WriteLine "Produktversion:  " & strValue 
59.
						wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_version_key, strValue 
60.
						oTxt.WriteLine "Windowsversion -64Bit:  " & strValue 
61.
						wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_sp_key, strValue 
62.
						oTxt.WriteLine "ServicePack:   " & strValue 
63.
					 
64.
						else 
65.
							if strValue = "Windows 7 Home Basic" then 
66.
								on error resume next 
67.
									wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_sp_key, strValue 
68.
							if err.Number = 0 then 
69.
								wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_path, ma_pkey, strValue 
70.
								oTxt.WriteLine "Programm:  " & strValue 
71.
								wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_path, ma_w7_vkey, strValue 
72.
								oTxt.WriteLine "Produktversion:  " & strValue 
73.
								wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_version_key, strValue 
74.
								oTxt.WriteLine "Windowsversion -32Bit:  " & strValue 
75.
								wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_sp_key, strValue 
76.
								oTxt.WriteLine "ServicePack:   " & strValue 
77.
								else 
78.
									wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_path, ma_pkey, strValue 
79.
									oTxt.WriteLine "Programm:  " & strValue 
80.
									wmi_object.GetStringValue HKEY_LOCAL_MACHINE, ma_path, ma_w7_vkey, strValue 
81.
									oTxt.WriteLine "Produktversion:  " & strValue 
82.
									wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_version_key, strValue 
83.
									oTxt.WriteLine "Windowsversion -32Bit:  " & strValue 
84.
									wmi_object.GetStringValue HKEY_LOCAL_MACHINE, win_version_path, win_sp_key, strValue 
85.
									oTxt.WriteLine "Kein ServicePack vorhanden!" 
86.
									err.Clear 
87.
							end if 
88.
							else 
89.
								MsgBox "Error" 
90.
							end if 
91.
						end if 
92.
			end if	 
93.
end if
Mitglied: bastla
12.09.2012, aktualisiert um 17:58 Uhr
Hallo degNLB und willkommen im Forum!
Mein Problem welches ich momentan habe ist, dass ich die Daten gerne in eine Excel-Tabelle hätte
Ändere einfach die Zeile 27 auf
set oTxt = TxtDatei.OpenTextFile("C:\temp\" & AbfragePc & ".csv" , 8 , true)
und die Ausgabezeilen wie etwa Zeile 36 auf
oTxt.WriteLine "Programm:;" & strValue
Grüße
bastla
Bitte warten ..
Mitglied: degNLB
13.09.2012, aktualisiert um 07:26 Uhr
ok... dass die Lösung so einfach ist, ist ja fast peinlich nach 2 Tagen suche und probieren...

Vielen Dank bastla, Du hast mir sehr geholfen.!
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
gelöst Loginzeiten aus dem Ereignisprotokoll in Excel schreiben (1)

Frage von l-Ne0n zum Thema Batch & Shell ...

Batch & Shell
gelöst VBscript - WMI - ServerAddress + ConnectionStatus (Windows 7) (10)

Frage von Highend01 zum Thema Batch & Shell ...

VB for Applications
gelöst PDF Datei auslesen und per VBA in Excel schreiben (3)

Frage von Julian8990 zum Thema VB for Applications ...

Microsoft Office
Aus Outlook 2013 Daten aus Tabellenfeldern in Excel übertragen (9)

Frage von ich2110 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...