Чи можна отримати доступ до дисковода, використовуючи ідентифікатор гучності, а не літеру диска в Windows? Це може бути дуже корисно для зовнішніх накопичувачів.
Чи можна отримати доступ до дисковода, використовуючи ідентифікатор гучності, а не літеру диска в Windows? Це може бути дуже корисно для зовнішніх накопичувачів.
Відповіді:
Ви можете використовувати mountvol
в командному рядку для отримання ідентифікатора обсягу, до якого ви хочете отримати доступ.
Ці ідентифікатори можна використовувати для відкриття вікна провідника, незалежного від букви диска
Щоб створити ярлик до диска, створіть новий пакетний файл із цим вмістом:
start \\?\Volume{1b3b1146-4076-11e1-84aa-806e6f6e6963}\
:-|
@"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{4033aabd-1234-5678-a1234567890}\ /lr /c n /q
У PowerShell , використання Get-Volume
конвеєр через Format-List
так:
get-volume | fl
дасть вам все необхідне, наприклад, цей SYSTEM RESERVED
том на одній з моїх машин:
ObjectId : {1}\\ACER-M3900\root/Microsoft/Windows/Storage/Providers_v2\WSP_Volume.ObjectId="{5b16a307-de54-11e7-8aeb-806e6f6e6963}:VO:\\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\"
PassThroughClass :
PassThroughIds :
PassThroughNamespace :
PassThroughServer :
UniqueId : \\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\
AllocationUnitSize : 4096
DedupMode : NotAvailable
DriveLetter :
DriveType : Fixed
FileSystem : NTFS
FileSystemLabel : SYSTEM RESERVED
FileSystemType : NTFS
HealthStatus : Healthy
OperationalStatus : OK
Path : \\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\
Size : 105058304
SizeRemaining : 33992704
PSComputerName :
Я вважаю за краще використовувати абсолютні літери диска для флеш-дисків. Є адекватні завдання майже для будь-кого, якщо у вас немає 20 і більше флеш-дисків.
У Windows 7 використовуйте Windows для форматування та присвоєння мітки накопичувача або якщо на диску вже є мітка, використовуйте командний рядок "Мітка (буква диска), щоб надати їй мітку на ваш вибір.
Потім перейдіть до панелі управління, системи та безпеки, адміністративних інструментів, управління комп’ютером, управління диском, щоб вибрати диск із створеною міткою, натиснувши правою кнопкою миші на диску, виберіть зміну літери та шляхів диска та призначте гучність певній букві диска. Він завжди буде кріпитися до цієї літери диска, якщо вона є.
У мене є мітки накопичувачів, які містили живі дані, і маркування жодним чином не впливало на існуючі дані. Здається, працює так, як це робилося на дискетах ще в старі добрі часи
Ви можете отримати доступ до дисковода, використовуючи його мітку в PS так:
ls -l (Get-Volume | ? FileSystemLabel -eq "Barry Allen drive").Path
Це скорочено, використовуйте повний формат у сценарії для кращої читальності - див. Нижче
GPT використовує фіксовані ідентифікатори для спеціальних розділів. Ми можемо використовувати їх для написання портативних сценаріїв, для доступу до томів відновлення або системи на будь-якому комп’ютері, не присвоюючи йому лист:
Об'єм системи:
ls -l (Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0]
Обсяг відновлення:
ls -l (Get-Partition | ? GptType -eq "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}").AccessPaths[0] -Force
cd "$((Get-Partition | ? GptType -eq "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}").AccessPaths[0])Recovery"
MSR: в UEFI є (повинен бути) і розділ MSR, але ви не можете отримати доступ до нього, оскільки він не має тома, ані файлової системи:
error:ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force
Три застереження:
Get-Volume не буде перераховувати приховані томи, якщо вони не працюють підвищеними, Get-Partition буде перераховувати їх не підвищеними, але ви все одно не можете отримати доступ до них.
З Get-ChildItem (ls) Шлях пристрою повинен бути пройдений за допомогою аргументу -LiteralPath (-l). Це не через '?' особливий характер. -Path просто не працює з Device Path, навіть якщо "?" втік.
Неможливо компакт-диск в корінь шляху пристрою. Але можна CD у свою папку.
Завжди використовуйте повний формат у сценарії для кращої читальності
ls -l ((Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0])
скорочено:
Get-ChildItem -LiteralPath ((Get-Partition | Where-Object { $_.GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}" }).AccessPaths[0])
ls
псевдонім Get-ChildItem
-l
укорочений -LiteralPath
? *attribute* -eq "*value*"
скорочений конструкція ? { $_.*attribute* -eq "*value*" }
?
є псевдонім Where-Object
-Force
використовується для перегляду прихованих файлів на томі відновлення
Використання Get-Partition і Get-Volume:
Get-Partition надає параметр GptType, але не Label, Get-Volume дає Label, але не GptType