Greetzz Geschrieben 4. November 2004 Teilen Geschrieben 4. November 2004 HI, ich brauche einen Tip, wie ich herausfinden kann, ob auf verschiedenen PCs im Netzwerk entweder ein CD oder ein DVD Laufwerk eingebaut ist. Das alles soll dann als Script laufen und mir in einem File die entsprechenden Ergebnisse auflisten. Ich habe ein Tool ( psinfo) das zumindest die Volumes ausliest und es zeigt auch dann z.B. CD-Rom an, aber ich befürchte dass es auch bei DVD Laufwerken nur CD-Rom anzeigt.Außerdem kann meiner Erfahrung nach das Ergebnis nicht in ein Textfile umgeleitet werden :-( Weiß einer evtl. in welchem Reg-Key eine Unterscheidung zw. CD und DVD stattfindet oder gibt es soetwas überhaupt nicht? Danke für die Unterstützung...Gruß Flo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lakarando Geschrieben 4. November 2004 Teilen Geschrieben 4. November 2004 Windows unterscheidet da nicht, es sind alles CD_ROM-Drives. Die einzige, aber auch unsichere, Methode wäre, die Herstellerinformationen abzufragen und zu hoffen, dass jeder im Namen das Kürzel DVD drin hat. Nimm folgendes Script, und speichere es als .vbs ab und führe es dann aus. In der Datei C:\CD-Prop.log findest Du dann die CD-Infos zu deinem Rechner. Tausche in der Zeile "strComputer = "." " den Punkt gegen einen Rechnernamen im Netz und Du bekommst die Infos des entsprechenden Rechners. Viel Spass beim probieren. Option Explicit Dim strComputer Dim objWMIService, objItem, objFs, ObjFile Dim propValue Dim colItems Dim strOut strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive",,48) Set objFS = CreateObject("Scripting.FileSystemObject") For Each objItem in colItems strOut=strOut & "Caption: " & objItem.Caption & vbNewLine strOut=strOut & "CompressionMethod: " & objItem.CompressionMethod & vbNewLine strOut=strOut & "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode & vbNewLine strOut=strOut & "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig & vbNewLine strOut=strOut & "CreationClassName: " & objItem.CreationClassName & vbNewLine strOut=strOut & "DefaultBlockSize: " & objItem.DefaultBlockSize & vbNewLine strOut=strOut & "Description: " & objItem.Description & vbNewLine strOut=strOut & "DeviceID: " & objItem.DeviceID & vbNewLine strOut=strOut & "Drive: " & objItem.Drive & vbNewLine strOut=strOut & "DriveIntegrity: " & objItem.DriveIntegrity & vbNewLine strOut=strOut & "ErrorCleared: " & objItem.ErrorCleared & vbNewLine strOut=strOut & "ErrorDescription: " & objItem.ErrorDescription & vbNewLine strOut=strOut & "ErrorMethodology: " & objItem.ErrorMethodology & vbNewLine strOut=strOut & "FileSystemFlags: " & objItem.FileSystemFlags & vbNewLine strOut=strOut & "FileSystemFlagsEx: " & objItem.FileSystemFlagsEx & vbNewLine strOut=strOut & "Id: " & objItem.Id & vbNewLine strOut=strOut & "InstallDate: " & objItem.InstallDate & vbNewLine strOut=strOut & "LastErrorCode: " & objItem.LastErrorCode & vbNewLine strOut=strOut & "Manufacturer: " & objItem.Manufacturer & vbNewLine strOut=strOut & "MaxBlockSize: " & objItem.MaxBlockSize & vbNewLine strOut=strOut & "MaximumComponentLength: " & objItem.MaximumComponentLength & vbNewLine strOut=strOut & "MaxMediaSize: " & objItem.MaxMediaSize & vbNewLine strOut=strOut & "MediaLoaded: " & objItem.MediaLoaded & vbNewLine strOut=strOut & "MediaType: " & objItem.MediaType & vbNewLine strOut=strOut & "MinBlockSize: " & objItem.MinBlockSize & vbNewLine strOut=strOut & "Name: " & objItem.Name & vbNewLine strOut=strOut & "NeedsCleaning: " & objItem.NeedsCleaning & vbNewLine strOut=strOut & "NumberOfMediaSupported: " & objItem.NumberOfMediaSupported & vbNewLine strOut=strOut & "PNPDeviceID: " & objItem.PNPDeviceID & vbNewLine strOut=strOut & "PowerManagementSupported: " & objItem.PowerManagementSupported & vbNewLine strOut=strOut & "RevisionLevel: " & objItem.RevisionLevel & vbNewLine strOut=strOut & "SCSIBus: " & objItem.SCSIBus & vbNewLine strOut=strOut & "SCSILogicalUnit: " & objItem.SCSILogicalUnit & vbNewLine strOut=strOut & "SCSIPort: " & objItem.SCSIPort & vbNewLine strOut=strOut & "SCSITargetId: " & objItem.SCSITargetId & vbNewLine strOut=strOut & "Size: " & objItem.Size & vbNewLine strOut=strOut & "Status: " & objItem.Status & vbNewLine strOut=strOut & "StatusInfo: " & objItem.StatusInfo & vbNewLine strOut=strOut & "SystemCreationClassName: " & objItem.SystemCreationClassName & vbNewLine strOut=strOut & "SystemName: " & objItem.SystemName & vbNewLine strOut=strOut & "TransferRate: " & objItem.TransferRate & vbNewLine strOut=strOut & "VolumeName: " & objItem.VolumeName & vbNewLine strOut=strOut & "VolumeSerialNumber: " & objItem.VolumeSerialNumber & vbNewLine Next Set objFile = objFS.OpenTextFile("C:\CD-Prop.log",2,True) ObjFile.Write strOut ObjFile.Close MsgBox "Fertig" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Greetzz Geschrieben 4. November 2004 Autor Teilen Geschrieben 4. November 2004 Danke, werd ich mal ausprobieren. Hab inzwischen auch eine andere Idee, und zwar kennt jemand das WMIC von Windows.... bei CMD-Eingabe von wmic cdrom get description /All gibt der einem den Typ des laufwerks aus.Alternativ kann auch ...get Mediatype benutzt werden. Blos weiß ich nicht wie ich diese Rückgabe in einer Batch variable speichern soll, die dann in eine txt ausgegeben wird. Weil der Befehl alleine funktioniert nämlich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lakarando Geschrieben 4. November 2004 Teilen Geschrieben 4. November 2004 versprech Dir nicht zuviel davon , AFAIK ist WMIC auch nur ein Consolen - Tool für WMI-Abfragen, macht eigendlich also nichts anderes als mein Script, nur auf anderem Weg, es fragt die Eigenschaften des Win32_CDROMDrive - Objektes ab, und MediaType ändert sich nichtmal, wenn man eine DVD einlegt. Das gilt für Win2000, möglicherweise ist das ganze Win32_CDROMDrive - Objekt ab WinXP gesprächiger. Gruss Thoralf EDIT: hab grad gesehen, dass Du wohl mit der Ausgabe von wmic zufrieden bist. Mit der Textdatei, mach es doch so : wmic cdrom get description /all >> C:\cdrom.log Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Greetzz Geschrieben 4. November 2004 Autor Teilen Geschrieben 4. November 2004 Hab dein VBS ausprobiert und im Grunde ist es wirklich das was ich brauche! *danke* Hab halt noch nie mit VBS gearbeitet, d.h. ich habe noch 2 kleine Problemchen: 1. Ich möchte, dass in der log Datei bevor der Inhalt der strOut reingeschrieben wird noch den jeweiligen Computernamen hinzufügen, also habe ich die Zeile ObjFile.Write strComputer ergänzt. Klappt ja auch ganz gut, aber wie kann ich Leerzeilen einfügen zwischen PCName und den Daten? 2. Funktioniert das Eintragen fremder NetzwerkPCs (noch) nicht. Wenn ich statt dem Punkt einen Computernamen wie z.B. PC012345 eingebe, dann kommt ein WindowsFehler (also halt so eine Box mit Ok) Das Script wird dann nicht ausgeführt. Nochmal Danke für die Hilfe bis jetzt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Greetzz Geschrieben 4. November 2004 Autor Teilen Geschrieben 4. November 2004 Problem 1 selbst gelöst: mit "& vbNewLine" läufts. Aber das prob 2 macht mir zu schaffen...wenn ich meinen Computernamen eingebe, geht es aber eben nicht wenn ich einen anderen aus uns'rem Netz eingebe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lakarando Geschrieben 4. November 2004 Teilen Geschrieben 4. November 2004 wäre schon wichtig, was in der Fehlermeldung drin steht. Hast Du die passenden Rechte auf dem Remote-Rechner ? Gruss Thoralf Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Greetzz Geschrieben 4. November 2004 Autor Teilen Geschrieben 4. November 2004 Ja, klingt logisch ;-) Es kommt das: Fehler: Der Dienst antwortete nicht rechtzeitig auf die Start- oder Steuerungsaufforderung Code: 8007041D Quelle (null) Bist du sicher, dass in dem Quelltext einfach nur der Punkt(local) gegen einen anderen PCNamen ausgetausch werden kann? Hier mein Quelltext, wie ich ihn angepasst habe: Option Explicit Dim strComputer Dim objWMIService, objItem, objFs, ObjFile Dim propValue Dim colItems Dim strOut strComputer = "PC460d2" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive",,48) Set objFS = CreateObject("Scripting.FileSystemObject") For Each objItem in colItems strOut=strOut & "Description: " & objItem.Description & vbNewLine strOut=strOut & "MediaType: " & objItem.MediaType & vbNewLine Next Set objFile = objFS.OpenTextFile("c:\CD-Prop.log",2,True) ObjFile.Write "Computer: " & strComputer & vbNewLine & vbNewLine ObjFile.Write strOut ObjFile.Close MSGBOX "Script erfolgreich abgelaufen, die Datei cd_prop.log" & vbNewLine & "wurde auf c:\ erstellt" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lakarando Geschrieben 4. November 2004 Teilen Geschrieben 4. November 2004 ja, das Ersetzten des Punktes reicht. Bei mir hier funktioniert es ( Windows2000 Rechner ). Wenn Du WinXP hast, dann weiss ich nicht mehr weiter, da fehlt mir jegliche Erfahrung. Ich vermute das Problem in irgendwelchen Sicherheitseinstellungen in XP. Trotzdem mal, welches OS hast Du, in welcher Beziehung stehen die Rechner ( AG oder Domäne ) und wie autorisierst Du Dich am Remote-Client? Gruss Thoralf Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Greetzz Geschrieben 4. November 2004 Autor Teilen Geschrieben 4. November 2004 Ähm, also es ist natürlich ein Domänen Netzwerk - und ich sitz ebenso an einem Client PC wie die rechner, die ich später überprüfen soll. Ich tippe, dass es an meinem Login Liegt, werd mich mal als Administrator anmelden und dann mal schauen... Ich hab selbst WinXp, aber die Clients verwenden WinNT,Win2k, WXp und die Server 2kServer oder 2k3Server - Also im Grunde sollte das Multi-OS fähig sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lakarando Geschrieben 4. November 2004 Teilen Geschrieben 4. November 2004 NT kannst vergessen, dazu müsstest Du erst mal WMI installieren : http://www.microsoft.com/downloads/details.aspx?FamilyID=e4182002-03be-4e77-997a-3b7cf356e9c9&DisplayLang=en Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.