Top-Themen

Aktuelle Themen (A bis Z)

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

Festplattenkapazität in MB mittels Batch- oder VB-Datei auslesen

Frage Microsoft

Mitglied: 73978

73978 (Level 1)

15.01.2009, aktualisiert 13:31 Uhr, 10930 Aufrufe, 3 Kommentare

Hallo zusammen,
ich bin grad dabei eine Recovery-DVD über WinPE 2.0 SP1 zu bearbeiten.
Diese DVD bringt einen beliebigen Server wieder in seinen Auslieferungszustand zurück.

Dabei kann man angeben wie groß die Partition der Systemplatte werden soll, auf der später dann das Recovery-Image aufgespielt wird.
Im Moment ist es aber noch so, dass man da eingeben kann was man will, also auch mehr als die HDD überhaupt hergibt...

Daher bräuchte ich ne Möglichkeit per Batch-Datei die Größe der jeweils eingebauten HDD in Megabyte auszulesen,
damit ich den Wert dann als Maximalwert speichern kann. Im MB muss der Wert sein, da "diskpart" die Partitionsgröße auch in MB haben will.
Über diskpart selbst kann ich ja leider nur die Größe der HDD in GB auslesen und nicht in MB...

Ich hoff mir kann da jemand helfen.

Danke schonmal und Gruß
Andi

/EDIT: Falls mir dazu jemand ein VB Skript hätte würd mir das auch reichen. Skripting ist eingeschaltet im PE
Mitglied: 73978
15.01.2009 um 13:34 Uhr
Hallo zusammen,

nun hab ich von nem Kollegen grad ein VB Script bekommen in dem genau das passiert was ich will.
Allerdings liest dieses Skript mir erstens ALLE HDDs aus und nicht nur die erste und zweitens ist die Größe auf zig Kommastellen angegeben.

Wie schaff ichs dass mir nur die erste HDD angezeigt wird und dass er nach dem Komma einfach abbricht?
/EDIT: Und wie schreib ich den Wert dann anschlißend in eine txt-Datei?

Hier der Code:

strServer = "."

Set objWMI = GetObject("winmgmts://" & strServer & "/root\cimv2")
Set objInstances = objWMI.InstancesOf("Win32_DiskDrive")

On Error Resume Next
For Each objInstance in objInstances
With objInstance
WScript.Echo .size/1048576
End With
On Error Goto 0
Next



Sorry für die ganzen Fragen aber mit VB kenn ich mich bisher leider überhaupt nicht aus...

Gruß Andi
Bitte warten ..
Mitglied: 73978
15.01.2009 um 14:36 Uhr
Okay ich habs nun so einigermaßen hinbekommen wie ich das wollte.
Er liest nun alle HDDs aus und schreibt diese in ne Textdatei.

Mit der cmd brauch ich ja dann nur einfach die erste Zeile auslesen und gut is

Hier der VB-Code:

strServer = "."

Set objWMI = GetObject("winmgmts://" & strServer & "/root\cimv2")
Set objInstances = objWMI.InstancesOf("Win32_DiskDrive")

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const CCreate = True
Set fso = CreateObject("Scripting.FileSystemObject")
Set datei = fso.OpenTextFile("hddsize.txt", ForWriting, CCreate)

On Error Resume Next
For Each objInstance in objInstances
With objInstance
datei.write round(.size/1048576)-2 & " " & chr(13) & chr(10)
End With
On Error Goto 0
Next

datei.Close



Vielleicht kann das der/die ein oder andere von euch ja mal brauchen.

Grüße
Andi
Bitte warten ..
Mitglied: bastla
15.01.2009 um 18:57 Uhr
Hallo ade2k1 und willkommen im Forum!

Danke für das Script.

Nur als Ansatz einer Näherungslösung (in CMD kann nur mit ganzen Zahlen gerechnet werden) zum Ermitteln der Größe der ersten Festplatte als Batch (VBS ist für diesen Zweck unbestritten besser geeignet):
01.
set S= 
02.
for /f "skip=1" %%i in ('wmic DiskDrive Get Size') do if not defined S set S=%%i 
03.
set /a SizeMB=%S:~,-4%/105 
04.
echo %SizeMB%
Da die heutigen Festplattengrößen die auf 32 Bit begrenzte "Genauigkeit" (O-Text der Fehlermeldung bei Verwendung von Zahlen > 4294967295 in einer "set /a"-Anweisung) der CMD-Shell um ein Vielfaches überfordern, werden einfach die letzten 4 Stellen der ausgelesenen Byte-Anzahl weg gelassen (entspricht einer Division durch 10000 und Abrundung des Ergebnisses auf Ganze).

Danach wird durch 105 (= aufgerundet 1024 * 1024 / 10000) dividiert - so ist sicher gestellt, dass das Ergebnis in MB (um die Rundungsdifferenzen) zu niedrig angegeben wird, was im Hinblick auf die Zielsetzung "Vorgabe eines nicht zu hohen Wertes für die Partitionierung" zwar einen gewissen Sicherheitspolster darstellt, es allerdings verhindert, dass der gesamte Speicherplatz für die Partition verwendet werden kann ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BATCH ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell
Batch File zum Auslesen einer Datei
gelöst Frage von Marcel1989Batch & Shell9 Kommentare

Hallo, Ich scheibe momentan ein Anmeldescript als batch mit dem Aufruf von VBS dateien. Hierfür haben wir bereits gruppen ...

Windows Server
Log-Datei via Batch auslesen
gelöst Frage von Ironhead-HaynsWindows Server3 Kommentare

Hallo zusammen, ich drehe mich mal wieder im Kreis und komme durch den Wald vor lauter Bäumen nicht durch! ...

Entwicklung
VB Windows Key aus Regestry auslesen
gelöst Frage von 122925Entwicklung2 Kommentare

Hallo, ich würde gerne Sachen aus der Regestry auslesen und in eine Textbox ausgeben. Danke

Neue Wissensbeiträge
Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 36 MinutenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...