Zum Inhalt springen

CD/ DVD Laufwerk von Netzwerkpcs herausfinden


Greetzz

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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"

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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"

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...