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

VBS Inventar Script funktioniert nicht

Frage Microsoft Windows Server

Mitglied: Itfreak

Itfreak (Level 1) - Jetzt verbinden

05.04.2012 um 10:59 Uhr, 2415 Aufrufe, 2 Kommentare

Moin Moin

Wollte dieses Skript einsetzten aus irgendwelchen Gründen die mir nicht bekannt sind, funktioniert das ganze nicht,
bekomme keine Fehlermeldung nix. Weiss jemand woran das liegen könnte?

Vielen Dank für die Hilfe im voraus.

Gruss Itfreak

01.
Const HKEY_LOCAL_MACHINE = &H80000002  
02.
Const FOR_WRITING = 2  
03.
Const ForReading = 1  
04.
  
05.
Set objFso = CreateObject("Scripting.FileSystemObject")  
06.
Set objShell = CreateObject("WScript.Shell")  
07.
  
08.
Set oList = objFso.OpenTextFile("clients.txt",ForReading)  
09.
Do While Not oList.AtEndOfStream  
10.
    strComputername = oList.ReadLine  
11.
    If Left(strComputername,1) <> ";" Then  
12.
        If HostOnline(strComputername) = True Then  
13.
            Inventory(strComputername)  
14.
        End If  
15.
    End If  
16.
Loop  
17.
 
18.
'==========================================================================  
19.
  
20.
Function Inventory(strComputername)  
21.
    On Error Resume Next  
22.
      
23.
    objOS.OSArchitecture = "" 
24.
    Set oTextFile = objFso.OpenTextFile(strComputername & ".txt", FOR_WRITING, TRUE)  
25.
      
26.
    'oTextFile.WriteLine strComputername  
27.
      
28.
    Set objWMIService = GetObject("winmgmts:" _  
29.
     & "{impersonationLevel=impersonate}!\\" & strComputername & "\root\cimv2")  
30.
   
31.
    Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")  
32.
    For Each objOS in colOSes  
33.
          oTextFile.WriteLine "Computer Name: " & objOS.CSName  
34.
          oTextFile.WriteLine "Caption: " & objOS.Caption  
35.
          oTextFile.WriteLine "Version: " & objOS.Version  
36.
          oTextFile.WriteLine "Build Number: " & objOS.BuildNumber  
37.
          oTextFile.WriteLine "Build Type: " & objOS.BuildType  
38.
          oTextFile.WriteLine "OS Type: " & objOS.OSType  
39.
	  oTextFile.WriteLine "OS Architecture: " & objOS.OSArchitecture 
40.
          oTextFile.WriteLine "Other Type Description: " & objOS.OtherTypeDescription  
41.
          oTextFile.WriteLine "Service Pack: " & objOS.ServicePackMajorVersion & "." & objOS.ServicePackMinorVersion  
42.
    Next  
43.
      
44.
    Set colProcs = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")  
45.
  
46.
    For Each objItem in colProcs  
47.
        oTextFile.WriteLine "Number of Processors: " & objItem.NumberOfProcessors  
48.
    Next  
49.
      
50.
    oTextFile.WriteLine vbCrLf & "Applications:"  
51.
  
52.
    Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputername & "\root\default:StdRegProv")  
53.
      
54.
    strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"  
55.
    objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys  
56.
  
57.
    For Each subkey In arrSubKeys  
58.
        strSubKeyPath = strKeyPath & "\" & subkey  
59.
          
60.
        strString = "DisplayName"  
61.
        objReg.GetStringValue HKEY_LOCAL_MACHINE, strSubKeyPath, strString, strDisplayName  
62.
          
63.
        strString = "DisplayVersion"  
64.
        objReg.GetStringValue HKEY_LOCAL_MACHINE, strSubKeyPath, strString, strDisplayVersion  
65.
          
66.
        strString = "Publisher"  
67.
        objReg.GetStringValue HKEY_LOCAL_MACHINE, strSubKeyPath, strString, strDisplayPublisher  
68.
 
69.
        strDisplayName=Trim(strDisplayName)  
70.
        strDisplayVersion=Trim(strDisplayVersion)  
71.
        strDisplayPublisher=Trim(strDisplayPublisher) 
72.
 	If strDisplayName <> "" Then  
73.
            oTextFile.WriteLine strDisplayPublisher & ";" & strDisplayName & ";" & strDisplayVersion		 
74.
        End If  
75.
 
76.
      Next 
77.
 
78.
 
79.
      strKeyPath = "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"  
80.
      objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys  
81.
  
82.
      For Each subkey In arrSubKeys  
83.
          strSubKeyPath = strKeyPath & "\" & subkey  
84.
            
85.
          strString = "DisplayName"  
86.
          objReg.GetStringValue HKEY_LOCAL_MACHINE, strSubKeyPath, strString, strDisplayName  
87.
          
88.
          strString = "DisplayVersion"  
89.
          objReg.GetStringValue HKEY_LOCAL_MACHINE, strSubKeyPath, strString, strDisplayVersion  
90.
          
91.
          strString = "Publisher"  
92.
          objReg.GetStringValue HKEY_LOCAL_MACHINE, strSubKeyPath, strString, strDisplayPublisher  
93.
 
94.
          strDisplayName=Trim(strDisplayName)  
95.
          strDisplayVersion=Trim(strDisplayVersion)  
96.
         If strDisplayName = "" Then 
97.
			oTextFile.WriteLine strDisplayPublisher & ";" & strDisplayName & ";" & strDisplayVersion 
98.
             
99.
          End If  
100.
      Next  
101.
 
102.
    oTextFile.WriteLine "EOF"  
103.
  
104.
    objTextFile.close  
105.
 
106.
End Function  
107.
 
108.
'==========================================================================  
109.
  
110.
Function Output(sOutput)  
111.
    WScript.echo Date() & " " & Time() & vbTab & sOutput  
112.
End Function  
113.
 
114.
'==========================================================================  
115.
  
116.
Function HostOnline(strComputername)  
117.
    Set sTempFolder = objFso.GetSpecialFolder(TEMPFOLDER)  
118.
    sTempFile = objFso.GetTempName  
119.
    sTempFile = sTempFolder & "\" & sTempFile  
120.
 
121.
  
122.
    objShell.Run "cmd /c ping -n 2 -l 8 " & strComputername & ">" & sTempFile,0,True  
123.
      
124.
    Set oFile = objFso.GetFile(sTempFile)  
125.
    set oTS = oFile.OpenAsTextStream(ForReading)  
126.
    do while oTS.AtEndOfStream <> True  
127.
        sReturn = oTS.ReadLine  
128.
        if instr(sReturn, "Antwort")>0 then  
129.
            HostOnline = True  
130.
            Exit Do  
131.
        End If  
132.
    Loop  
133.
      
134.
    ots.Close  
135.
    oFile.delete  
136.
End Function  
137.
  
138.
'==========================================================================  
139.
  
140.
oList.Close  
141.
Set objReg = Nothing  
142.
Set objFso = Nothing  
143.
 
Mitglied: mak-xxl
05.04.2012 um 11:44 Uhr
Moin Itfreak,

wenn die Datei <clients.txt> (siehe Zeile 8) einen Eintrag eines Client-PCs, etwa so: "192.168.1.1" (ohne Literale) enthält, wird im gleichen Verzeichnis nach Scriptlauf eine Datei <192.168.1.1.txt> (siehe Zeile 24) liegen, in der das Script gefundene Infos zum Client-PC abgelegt hat.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: netzwerkknecht
06.04.2012 um 05:57 Uhr
Die etwas ungelenke Ping-Abfrage in HostOnline setzt voraus, dass auf dem ausführenden Computer ein deutschsprachiges Windows eingesetzt wird: Auf einem englischsprachigen System wird ein Ping keinen String "Antwort" generieren, demnach gälten sämtliche abgefragten Rechner aus clients.txt als offline = keine Aktion. Für diesen Fall weist das Original des Codes unter http://gallery.technet.microsoft.com/scriptcenter/c1cbd0ea-2eda-48f8-8d ... aus, dass ein "Reply" erwartet würde.

netzwerkknecht auf Windows Intune: http://bit.ly/wide12hp
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell Datei kopieren mit ACL Script funktioniert nicht (4)

Frage von xpxy15 zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...