/ Czy istnieje sposób, aby za pomocą wmic odtworzyć mapy woluminów, do których partycji? [zamknięty] - windows, cmd, wmi, wmic

Czy istnieje sposób, za pomocą wmic, do inżynierii wstecznej, które mapy woluminów, do których partycji? [zamknięty] - windows, cmd, wmi, wmic

Problem ... mam dostęp tylko do wmic ... Cholera, którą znam ... ale muszę się dowiedzieć, który wolumin odpowiada odpowiadającej partycji odpowiadającej dyskowi. Wiem, jaka partycja odpowiada danemu dyskowi, ponieważ identyfikator dysku znajduje się bezpośrednio w wynikach zapytania wmic . Jednak pierwsza część problemu jest trudniejsza. Jak skorelować, który tom należy do jakich partycji? ..

Czy istnieje sposób, za pomocą wmic, do inżynierii wstecznej, które mapy woluminów do których partycji?

Jeśli tak, to jak wyglądałoby to zapytanie?

Odpowiedzi:

1 dla odpowiedzi № 1

Najłatwiej to zrobić za pomocą diskpart z wiersza poleceń:

C:>diskpart

Microsoft DiskPart version 10.0.10586

Copyright (C) 1999-2013 Microsoft Corporation.
On computer: TIMSPC

DISKPART> select disk 0

Disk 0 is now the selected disk.

DISKPART> detail disk

HGST HTS725050A7E630 *(Note: This is the Model of my hard disk)*
Disk ID: 00C942C7
Type   : SATA
Status : Online
Path   : 0
Target : 0
LUN ID : 0
Location Path : PCIROOT(0)#PCI(1F02)#ATA(C00T00L00)
Current Read-only State : No
Read-only  : No
Boot Disk  : Yes
Pagefile Disk  : Yes
Hibernation File Disk  : No
Crashdump Disk  : Yes
Clustered Disk  : No

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    464 GB  Healthy    Boot
Volume 2                      NTFS   Partition    843 MB  Healthy    Hidden

DISKPART> exit

Leaving DiskPart...

C:>

Masz dostęp do wiersza poleceń, ponieważ masz dostęp do WMIC, więc tę metodę powinien praca.


Na podstawie komentarzy poniżej: Nie, nie ma sposobu, aby użyć WMIC do określenia z 100% dokładnością, która partycja odpowiada której partycji na konkretnym dysku. Problem z określeniem tych informacji za pośrednictwem usługi WMI polega na tym, że nie wszystkie dyski są dyskami podstawowymi. Niektóre dyski mogą być dyski dynamiczne zawierający wolumin RAID obejmujący wieledyski. Niektóre mogą być kompletną implementacją sprzętową, podobnie jak macierz pamięci (na przykład kontroler RAID p410i w HP ProLiant). Ponadto istnieje wiele schematów partycjonowania (np UEFI / GPT vs BIOS / MBR). WMI jest jednak niezależny od środowiska. Oznacza to, że nie dba o sprzęt, jest to po prostu inna forma abstrakcji, która zapewnia wspólny model interfejsu ujednolica i rozszerza istniejące standardy oprzyrządowania i zarządzania.

Aby uzyskać pożądany poziom szczegółowościwymagać narzędzia, które może łączyć się ze sobą na znacznie niższym poziomie, takim jak sterownik urządzenia i mam nadzieję, że sterownik dostarcza potrzebnych informacji. Jeśli tak nie jest, będziesz szukał programowania na bardzo niskim poziomie, aby połączyć się z samym urządzeniem ... zasadniczo tworząc nowy sterownik, który dostarcza potrzebnych informacji, ale w oparciu o twoje ograniczenia dostępu do linii poleceń, Diskpart jest najbliżej skonstruowane narzędzie, które znajdziesz.

  1. Istnieją tomy, które nie mają tradycyjnych listów.

I? Diskpart może wybrać dysk, partycje i woluminy na podstawie przypisanego numeru. Litera dysku nie ma znaczenia.

  1. W żadnym punkcie na dysku nie jest wymieniony żaden rodzaj identyfikatora, który pozwala użytkownikowi w 100% wiedzieć, z którą partycją ma do czynienia, gdy odwołuje się do woluminu.

Oto przykład jednego z moich serwerów z dwoma twardymi dyskami 500GB. Pierwszy na dysku Boot / OS. Drugi ma 2gb nieprzydzielonego miejsca.

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  ------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    465 GB  Healthy    Boot
Volume 2     D   New Volume   NTFS   Partition    463 GB  Healthy

DISKPART> select volume 2

Volume 2 is the selected volume.

DISKPART> list disk

Disk ###  Status         Size     Free     Dyn  Gpt
--------  -------------  -------  -------  ---  ---
Disk 0    Online          465 GB      0 B
* Disk 1    Online          465 GB  2049 MB

DISKPART> list partition

Partition ###  Type              Size     Offset
-------------  ----------------  -------  -------
* Partition 1    Primary            463 GB  1024 KB

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  ------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    465 GB  Healthy    Boot
* Volume 2     D   New Volume   NTFS   Partition    463 GB  Healthy

DISKPART>

Zwróć uwagę na gwiazdki? Oznaczają one aktywny dysk, partycję i wolumin. Chociaż nie są to identyfikatory wymagane do tego, aby użytkownik w 100% wiedział, z którą partycją mają do czynienia, możesz przynajmniej wyraźnie zauważyć, że Volume 2 (D :) jest na Partition 1 of Disk 1.

  1. Istnieją woluminy, które są dyskietkami RAW, co zasadniczo mówi ... to jest surowy dysk i chcę się dowiedzieć, gdzie są te surowe dyski.

Jak widać po utworzeniu woluminu bez systemu plików na 2 GB wolnego miejsca, nie ma to znaczenia:

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  -------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    465 GB  Healthy    Boot
Volume 2     D   New Volume   NTFS   Partition    463 GB  Healthy
Volume 3                      RAW    Partition   2048 MB  Healthy

DISKPART> select volume 3

Volume 3 is the selected volume.

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  -------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    465 GB  Healthy    Boot
Volume 2     D   New Volume   NTFS   Partition    463 GB  Healthy
* Volume 3                      RAW    Partition   2048 MB  Healthy

DISKPART> list partition

Partition ###  Type              Size     Offset
-------------  ----------------  -------  -------
Partition 1    Primary            463 GB  1024 KB
* Partition 2    Primary           2048 MB   463 GB

DISKPART> list disk

Disk ###  Status         Size     Free     Dyn  Gpt
--------  -------------  -------  -------  ---  ---
Disk 0    Online          465 GB      0 B
* Disk 1    Online          465 GB  1024 KB
  1. Powodem, dla którego używam wmic, jest to, że muszę napisać o wielu op dyskach. Czy próbowałeś kiedyś skrypty uzyskiwania informacji z diskpart?

Nie, ale to jest skryptowalne.

W przykładowych danych można wyliczyć dysk,woluminy i partycje. Przez zapętlenie każdego obiektu i jego wybór, możesz utworzyć mapę, której wolumin jest na której partycji i który dysk zawiera tę partycję. Diskpart może nie dostarczyć 100% potrzebnych danych w 100% z 100% wymaganej dokładności, ale jest to najbliższe narzędzie wiersza poleceń, które można znaleźć, aby osiągnąć swój cel.


0 dla odpowiedzi nr 2
wmic logicaldisk get name, volumename

aby uzyskać więcej informacji, użyj wmic logicaldisk get /?