Festplatten Partitions- Infos holen.

  • Hallo zusammen,

    hat jemand eine Idee wie ich:
    Erstens die Anzahl der eingebauten Festplatten herausfinde,
    zweitens feststelle welche Partition(en) sich auf einer Platte befinden
    und drittens versteckte Partition aufspüren kann.

    Das Ergebnis sollte etwa so aussehen:

    ====================================
    Partition Information for Disk 0:
    ====================================
    C:\ NTFS Pri,Boot
    Hid NTFS Pri
    Hid NTFS Pri
    D:\ NTFS Log
    E:\ NTFS Log
    F:\ NTFS Log

    ====================================
    Partition Information for Disk 1:
    ====================================
    G:\ NTFS Log
    H:\ NTFS Log
    I:\ NTFS Log


    Servus,
    Euer Cubaner.

    Einmal editiert, zuletzt von Cubaner (28. Februar 2009 um 06:52)

  • [autoit]

    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"

    [/autoit][autoit][/autoit][autoit]

    $Output=""
    $Output = $Output & "Computer: " & $strComputer & @CRLF
    $Output = $Output & "==========================================" & @CRLF
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_SystemPartitions", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

    [/autoit][autoit][/autoit][autoit]

    If IsObj($colItems) then
    For $objItem In $colItems
    $Output = $Output & "GroupComponent: " & $objItem.GroupComponent & @CRLF
    $Output = $Output & "PartComponent: " & $objItem.PartComponent & @CRLF
    if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
    $Output=""
    Next
    Else
    Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_SystemPartitions" )
    Endif

    [/autoit]

    das könnte dir schon einmal weiterhelfen

  • Hallo leviathan,

    Danke für die schnelle Hilfe.
    Ähnliches habe ich in dem sehr hilfreichen Tool scriptomatic.au3 von SvenP auch schon herausgeholt.
    Aber ich habe keine Lösung für die Fragen:
    Welche Partition ist auf welcher Platte?
    Gibt es versteckte Partitionen ?

    Servus,

    Euer Cubaner

  • Hallo Xenobiologist,

    mit Windows- Bordmitteln (Diskpart.exe) kann man einiges erfahren,
    aber versteckte Partitionen finde ich damit nicht. (Vielleicht bin ich auch nur unfähig diese Tool richtig zu nutzen.)

    Eine Automation von speziellen Tools wie Partition- Magic etc. ist ja nur auf Rechnern lauffähig die dieses Tool installiert haben.
    Ich glaube das ist nicht sinnvoll.
    Schön wäre es, wenn es ein Autoit- Lösung gäbe.

    Servus,
    Euer Cubaner

  • Schau dir mal folgende Funktionen an, die könnten evtl. helfen.

    • DriveGetDrive
    • DriveGetFileSystem
    • DriveGetLabel
    • DriveGetSerial
    • DriveGetType
    • DriveSpaceFree
    • DriveSpaceTotal
    • DriveStatus
  • Hallo zusammen,

    ich habe eine Lösung.
    Es gibt einen Bootmanager, dessen Kommandzeilen-Version die gesuchten Infos preisgibt.

    http://www.boot-us.de/download.htm


    Das würde dann so aussehen:


    Opt("MustDeclareVars", 1)
    FileChangeDir(@ScriptDir)
    Dim $ReportFile = "Report.txt"
    FileDelete($ReportFile)
    Dim $Befehl = "Bootusc.exe report file=" & $ReportFile
    RunWait($Befehl, "", @SW_HIDE)
    ShellExecute($ReportFile)
    Dim $File = FileOpen($ReportFile, 0)
    ; Check if file opened for reading OK
    If $File = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileClose($File)


    Servus Euer Cubaner