Я пытаюсь получить номер диска определенного тома. Этот том отображается в путь к файлу вместо буквы диска.
Я могу получить уникальный идентификатор тома с помощью командлета Get-volume
$ Volumepath = 'C: \ MappedVolume2 \ disk2' $ uniqId = (get-volume -FilePath $ Volumepath) .UniqueId Get-Disk -UniqueId $ uniqId
Это не отображает никаких выходных данных или ошибок.
Этот том существует, и UniqId отображает что-то вроде следующего:
\? \ Volume {0874487c-28c3-4c65-a374-b022fa07b20a} \
Но невозможно получить какие-либо подробности. Мне нужно получить номер диска в объеме.
Обновление:
Я выполняю следующие команды
> get-disk | select UniqueId
2036BB19DB62D3166C9DB900D48FC2BE
> Get-Volume | select UniqueId
\\?\Volume{0874487c-28c3-4c65-a374-b022fa07b20a}\
, хотя они названы uniqueid, но они совершенно разные. Так что они не будут совместимы. Есть ли другой способ узнать номер тома на диске?
Я знаю, что это старый, но на случай, если кто-то еще ищет ответ, он должен решить для многих сценариев «том на диск». Для вашего сценария (и многих других) вы можете использовать Get-Partition, который может возвращать номер диска. Дайте ему букву диска, на котором находится точка подключения тома. Использование переменной $ Volumepath в вашем примере:
(Get-Partition -DriveLetter (Get-Item $Volumepath).PSDrive.Name).DiskNumber