CMD/BAT - [решено] Узнать MBR или GPT

Аватара пользователя
KaSpieC 666

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение KaSpieC 666 »

Iska,

под спойлером, Вы наверное не заметили, я через пару минут добавил, после отправки....
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение Iska »

KaSpieC 666, это скриншот не «Управления дисками». «Win-R», «diskmgmt.msc», «Enter».
Аватара пользователя
KaSpieC 666

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение KaSpieC 666 »

Цитата KaSpieC 666:



Вы наверное не заметили, я через пару минут добавил, после отправки....
CMD/BAT - [решено] Узнать MBR или GPT




Да, прочитал Ваш пост раньше, нежели чем Вы обновили его содержимое.



Итак, ещё раз: у Вас два раздела. Два, а не три. Один — основной, другой — дополнительный. В основном разделе создан один логический диск «C:», в дополнительном разделе созданы два логических диска — «D:» и «E:».




Цитата KaSpieC 666:



И извиняюсь, за "ничего" - искал слова MBR GPT....
CMD/BAT - [решено] Узнать MBR или GPT




Ясно, с этим разобрались.



Давайте продолжим этим скриптом WSH:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Option Explicit
Dim strComputer
Dim objSWbemObjectEx_Win32_DiskDrive
Dim objSWbemObjectEx_Win32_DiskPartition
Dim objSWbemObjectEx_Win32_LogicalDisk
Dim strFile
Dim strContent
strComputer = "."
With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(strComputer, "root\cimv2")
	strContent = ""
	For Each objSWbemObjectEx_Win32_DiskDrive In .ExecQuery("SELECT * FROM Win32_DiskDrive")
		With objSWbemObjectEx_Win32_DiskDrive
			strContent = strContent & .DeviceID & ", " & .PNPDeviceID & ", " & .Size & vbCrLf
		End With
		For Each objSWbemObjectEx_Win32_DiskPartition In objSWbemObjectEx_Win32_DiskDrive.Associators_(, "Win32_DiskPartition")
			With objSWbemObjectEx_Win32_DiskPartition
				strContent = strContent & vbTab & .DeviceID & ", " & .Type & ", " & .Size & vbCrLf
			End With
			For Each objSWbemObjectEx_Win32_LogicalDisk In objSWbemObjectEx_Win32_DiskPartition.Associators_(, "Win32_LogicalDisk")
				With objSWbemObjectEx_Win32_LogicalDisk
					strContent = strContent & vbTab & vbTab & .DeviceID & ", " & .FileSystem & ", " & .VolumeName & ", " & .VolumeSerialNumber & ", " & .Size & vbCrLf
				End With
			Next
		Next
	Next
End With
With WScript.CreateObject("Scripting.FileSystemObject")
	strFile = .BuildPath(WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop"), "List drives.txt")
	With .CreateTextFile(strFile, True)
		.Write strContent
		.Close
	End With
End With
WScript.CreateObject("WScript.Shell").Run """" & strFile & """", 1, False
WScript.Quit 0







Найдите машину с GPT (у меня нет), исполните скрипт и проверьте результирующие строки с разделами («Disk #…, Partition #…») на наличие словосочетания «GPT» после первой запятой.
Аватара пользователя
KaSpieC 666

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение KaSpieC 666 »

Iska,

Хорошо, попробую найти с GPT....

Правильно я понимаю - в текстовый закинуть скрипт, и сменить .txt на .wsh ?

Этот скрипт только для GPT? Методом исключения? Запустился - GPT, если нет - MBR? (так как у меня он не запускается - ради интереса проверил)
Аватара пользователя
KaSpieC 666

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение KaSpieC 666 »

Цитата KaSpieC 666:



и сменить .txt на .wsh ?
CMD/BAT - [решено] Узнать MBR или GPT




…на «.vbs».


Цитата KaSpieC 666:



Этот скрипт только для GPT? Методом исключения? Запустился - GPT, если нет - MBR?
CMD/BAT - [решено] Узнать MBR или GPT




Нет. Нет. Нет.




Цитата KaSpieC 666:



(так как у меня он не запускается - ради интереса проверил)
CMD/BAT - [решено] Узнать MBR или GPT




Как определили? Что сообщает при этом?
Аватара пользователя
KaSpieC 666

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение KaSpieC 666 »

Iska,

Я извеняюсь за свою глупость...

Всё работает у меня, просто делал в .wsh Изображение



P.S. как тока протестирую на GPT - отпишусь!
Аватара пользователя
KaSpieC 666

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение KaSpieC 666 »

Цитата KaSpieC 666:



P.S. как тока протестирую на GPT - отпишусь!
CMD/BAT - [решено] Узнать MBR или GPT




Лады, будем ждать.
Аватара пользователя
KaSpieC 666

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение KaSpieC 666 »

Iska,

Ели нашел GPT Изображение



Скрытый текст

[spoiler]\\.\PHYSICALDRIVE0, SCSI\DISK&VEN_TOSHIBA&PROD_MQ01ABD100\4&3359EDDD&0&000000, 1000202273280

Disk #0, Partition #0, GPT: Unknown, 314572800

Disk #0, Partition #1, GPT: System, 104857600

Disk #0, Partition #2, GPT: Basic Data, 104303951872

C:, NTFS, System, FECCE585, 104303947776

Disk #0, Partition #3, GPT: Basic Data, 209715200000

D:, NTFS, Programs, D2D9D4F8, 209715195904

Disk #0, Partition #4, GPT: Basic Data, 685630291968

E:, NTFS, Storage, CE35F33C, 685630287872[/spoiler]




Всё работает!!! Огромной СПАСИБО!!!!



Одно только интересно (не принципиально):

как опредилять количество жесткий?
Аватара пользователя
KaSpieC 666

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение KaSpieC 666 »

Цитата KaSpieC 666:



Всё работает!!!
CMD/BAT - [решено] Узнать MBR или GPT




Содержимое файла устраивает? Может, что-либо убрать из вывода?




Цитата KaSpieC 666:



Одно только интересно (не принципиально):

как опредилять количество жесткий?
CMD/BAT - [решено] Узнать MBR или GPT




Это количество строк с «\\.\PHYSICALDRIVEXX», в Вашем случае:



Скрытый текст

[spoiler]Цитата:[/spoiler]





Код:

Код: Выделить всё

\\.\PHYSICALDRIVE0, SCSI\DISK&VEN_TOSHIBA&PROD_MQ01ABD100\4&3359EDDD&0&000000, 1000202273280
	Disk #0, Partition #0, GPT: Unknown, 314572800
	Disk #0, Partition #1, GPT: System, 104857600
	Disk #0, Partition #2, GPT: Basic Data, 104303951872
		C:, NTFS, System, FECCE585, 104303947776
	Disk #0, Partition #3, GPT: Basic Data, 209715200000
		D:, NTFS, Programs, D2D9D4F8, 209715195904
	Disk #0, Partition #4, GPT: Basic Data, 685630291968
		E:, NTFS, Storage, CE35F33C, 685630287872









— можно предположить, что один.



Однако, есть два «но». Во-первых, в нашем скрипте не делается разделения на тип носителя, посему там могут оказаться устройства, не являющиеся жёсткими дисками. Во-вторых, даже если это будет учтено, в общем случае невозможно гарантировать точное определение: например, если у нас создан RAID-массив не средствами ОС — мы об этом на уровне Wbem не узнаем, массив будет виден как единый жёсткий диск, хотя в его состав могут входить два и более физических диска, есть варианты с объединением томов и т.п.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Узнать MBR или GPT

Сообщение Iska »

Iska,

Ради эксперимента, засунул флешку, вот, что вышло:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

\\.\PHYSICALDRIVE0, IDE\DISKSAMSUNG_SP1614N_________________________TM100-24\30533631314A5830333432363230202020202020, 160039272960
	Disk #0, Partition #0, Installable File System, 16121516544
		C:, NTFS, , 74E7D3A1, 16121516032
	Disk #0, Partition #1, Extended w/Extended Int 13, 143917724160
		D:, NTFS, , 35D737F1, 100488208384
		E:, NTFS, , 3D25FD42, 43429445632
\\.\PHYSICALDRIVE1, USBSTOR\DISK&VEN_JETFLASH&PROD_TRANSCEND_16GB&REV_8.07\Z9ITOOV3&0, 16055746560
	Disk #1, Partition #0, Unknown, 16047538176
		F:, FAT32, , , 16031850496







То есть, как Вы и говорили "«\\.\PHYSICALDRIVEXX»", их тут 2. И даже флешку чётко увидел!




Цитата Iska:



Содержимое файла устраивает? Может, что-либо убрать из вывода?
CMD/BAT - [решено] Узнать MBR или GPT




Даже не знаю, что и сказать... Если есть мысли - можно попробовать/по тестировать!




Цитата Iska:



можно предположить, что один.
CMD/BAT - [решено] Узнать MBR или GPT




Совершенно верно - 1 жесткий с 5 разделами!!!




Цитата Iska:



Однако, есть два «но». Во-первых, в нашем скрипте не делается разделения на тип носителя, посему там могут оказаться устройства, не являющиеся жёсткими дисками. Во-вторых, даже если это будет учтено, в общем случае невозможно гарантировать точное определение: например, если у нас создан RAID-массив не средствами ОС — мы об этом на уровне Wbem не узнаем, массив будет виден как единый жёсткий диск, хотя в его состав могут входить два и более физических диска, есть варианты с объединением томов и т.п.
CMD/BAT - [решено] Узнать MBR или GPT




Ну проверить или предложить, я к сожалению - не могу/не знаю....

Может кто подскажет, батник довольно нужный, я так думаю....



P.S. под спойлером с GPT (в предыдущем сообщении) - Два системных скрытых и три не скрытых раздела!!!

Это, чтобы не вводило в заблуждения!
Ответить

Вернуться в «Скриптовые языки администрирования Windows»