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

Ermitteln von SAN Speicher in Windows

Frage Entwicklung

Mitglied: schaki84

schaki84 (Level 1) - Jetzt verbinden

17.03.2009, aktualisiert 15:26 Uhr, 5444 Aufrufe, 7 Kommentare

Hallo,

ich habe mich eben neu im Forum angemeldet und freue mich auf eine gute Zusammenarbeit.


Folgendes Problem lässt mir keine Ruhe mehr. Ich soll via Skript SAN Speicher (von IBM) auf Windows Servern ermitteln. Ausgabe soll in etwa so aussehen:

"Laufwerk f: san Speicher"
"Laufwerk g: kein san Speicher"

Zusätzlich soll bei Sanspeicher noch die Größe und der noch verfügbare Speicher angezeigt werden.



Wollte dies zuerst mit VBScript und WMI lösen. Hier ein Auszug aus meinen Skript:

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL")
For Each objItem In colItems
If objitem.DriveType=5 then
else
file.Write (hostname & ";" & timestamp & ";")
file.Write (objItem.Name & ";")
file.Write (Int(objItem.Size/1024^2) & ";")
file.Write (Int(objItem.FreeSpace/1024^2) & ";")

Set colItems2 = objWMIService.ExecQuery("SELECT * FROM Win32_SCSIControllerDevice", "WQL")
For Each objItem2 In colItems2
objitem2.dependent = sanstring
If instr(sanstring) = "1742" OR "1815" OR "2105" OR "2107" OR "4700" then
file.write (sanstring) &vbcrlf

end if
Next
end if
next


Kurze Erklärung:

Am Anfang scannt er jeden Laufwerksbuchstaben und sieht nach ob es eine Festplatte ist.
Danach gibt er den Laufwerksbuchstaben, größe und freien Speicher aus.
Danach sollte er eigentlich genau von diesem Laufwerksbuchstaben die "dependent" vom SCSI controller ausgeben. Somit wollte ich dann in dem String nachsehen, ob einer der oben aufgeführten Zahlen im String sind, da es bei uns ein Teil der SAN-Bezeichnung ist (IBM SAN). Nur leider gibt er so unter jeden Laufwerksbuchstaben jeden SCSI Controller aus.

Jemand eine Idee? Oder gibt es einfachere Wege SAN-Speicher auszulesen?


Ich hoffe ihr konntet mir folgen ;)



Mit freundlichen Grüßen
Marcel
Mitglied: AndreasHoster
17.03.2009 um 18:04 Uhr
Ich würde auf WIN32_DiskDrive gehen, um das zu ermitteln.
Unter der Property Model melden sich bei uns die NetApp Luns mit "NETAPP LUN Multi-Path Disk Device", da müsste man halt bei Dir schauen wie sich die IBM da meldet.
Unter dem Property Name kommt \\.\PHYSICALDRIVEx was man über Win32_DiskDrivetoDiskPartition und Win32_LogicalDisktoPartition einem Laufwerksbuchstaben zuordnen kann.
Bitte warten ..
Mitglied: schaki84
18.03.2009 um 08:29 Uhr
Hallo,

werde ich gleich mal heute vormittag probieren, danke


EDIT 10:01: Scheint zu funktionieren, werde nun mein Skript danach anpassen, danke für die schnelle Hilfe!
Bitte warten ..
Mitglied: schaki84
04.06.2009 um 16:43 Uhr
Hallo,

es ist zwar schon einiges her, aber ich konnte leider an dem Skript nicht weiter arbeiten. Leider funktioniert das doch nicht auf den beschriebenen Weg.


Es hinkt momentan bei mir an folgendes:

Ob es SAN ist oder nicht, bekomme ich aus folgendem: Win32_SCSIControllerDevice -> obj.dependent.

Nur leider kann ich keine Verbindung zu den normalen Laufwerken finden und somit nicht den Speicher ermitteln.

Weiß einer eine Lösung?
Bitte warten ..
Mitglied: AndreasHoster
04.06.2009 um 17:54 Uhr
Von der Seite wirds aufwendig, geht aber auch.
Aus dem Win32_SCSIControllerDevice bekommt man die PNPDeviceID (bei mir muß ich die MPIO Version nehmen, da sich die Fail Over Software noch einklinkt):
Bsp: MPIO\\DISK&VEN_NETAPP&PROD_LUN&REV_0.2_\\1&7F6AC24&0&486E5761676F47734A4D6A59
Die findet sich unter Win32_DiskDrive wieder. Wenn ich das Objekt habe, bekomme ich über das Attribut Name folgendes: \\.\PHYSICALDRIVE8
Das findet sich wieder unter Win32_DiskDriveToPartition unter Antecedent. Unter Dependent findet sich dann: Disk #8, Partition #0
Dieses finde ich wieder unter Win32_LogicalDiskToPartition als Antecedent und unter Dependent finde ich meinen Laufwerksbuchstaben: Dependent: \\WN07\root\cimv2:Win32_LogicalDisk.DeviceID="H:"

Das zu Codieren habe ich jetzt aber gerade keine Lust, aber mit genügend Abfragen sollte man da durchkommen.
Bitte warten ..
Mitglied: schaki84
04.06.2009 um 20:15 Uhr
klingt super,

ich werde das gleich Morgen in der Firma testen und werde dann Rückmeldung geben.

Schonmal danke im voraus
Bitte warten ..
Mitglied: schaki84
05.06.2009 um 08:51 Uhr
Hallo,

habe das mal im San nachvollzogen, müsste so funktionieren

Danke dir, werde das mal anfangen zu coden.
Bitte warten ..
Mitglied: schaki84
08.06.2009 um 13:30 Uhr
hallo,

ich habe alles soweit programmiert und bin auf folgenden Fehler gestoßen:


Win32_SCSIControllerDevice:
Antecedent \\SAS02020\root\cimv2:Win32_SCSIController.DeviceID="PCI\\VEN_1077&DEV_2422&SUBSYS_01331077&REV_02\\5&90902E2&0&080220"
Dependent \\SAS02020\root\cimv2:Win32_PnPEntity.DeviceID="SCSI\\DISK&VEN_IBM&PROD_1742-900&REV_0520\\6&18A032B8&0&000000"

Win32_DiskDrive:
PNPDeviceID SCSI\DISK&MPP_VIRTUAL_DISK\1&38579E46&0&0
PNPDeviceID SCSI\DISK&VEN_LSILOGIC&PROD_1030_IM&REV_1000\6&366BC513&0&000



Wie kann ich diese beiden Klassen verbinden, oder eine Beziehung zwischen den beiden herstellen?
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Mobile
MAC-Adresse in Windows CE per Befehl ermitteln? (1)

Frage von timemaster zum Thema Windows Mobile ...

Windows Netzwerk
Windows SCCM vs Puppet + Chocolatey (4)

Frage von eglipeter zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...