web-dev-qa-db-ja.com

マウントされたISOのイメージファイルを検索する

Windows10またはWindowsServer(またはC:\temp\demo.iso powershellコマンド)でMount-DiskImageのようなISOファイルをダブルクリックしてマウントすると、新しいディスクが表示されます(この場合は新しいドライブが返されますI:):

Get-Volume I | fc

class CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Volume
{
  ObjectId = {1}\\Host01\root/Microsoft/Windows/Storage/Providers_v2\WSP_Volume.ObjectId="{de774a20-4e16-11e8-ad1
  e-806e6f6e6963}:VO:\\?\Volume{354097cd-6bd5-11e7-a5d9-aaaaa99b2b5d}\"
  PassThroughClass =
  PassThroughIds =
  PassThroughNamespace =
  PassThroughServer =
  UniqueId = \\?\Volume{354097cd-6bd5-11e7-a5d9-aaaaa99b2b5d}\
  AllocationUnitSize = 2048
  DedupMode = NotAvailable
  DriveLetter = I
  DriveType = CD-ROM
  FileSystem = CDFS
  FileSystemLabel = 20190306-134242
  FileSystemType = Unknown
  HealthStatus = Healthy
  OperationalStatus = OK
  Path = \\?\Volume{354097cd-6bd5-11e7-a5d9-aaaaa99b2b5d}\
  Size = 2136489984
  SizeRemaining = 0
  PSComputerName =
}

しかし、そのディスクのイメージソースファイルパス(c:\temp\demo.iso)が何であったかがわかりません。 mount-diskimageはこの情報を結果オブジェクトとして返しますが、事後またはエクスプローラーでマウントした場合、どこで取得できますか? PowerShellを使用してスクリプトを作成する必要があります。

2
eckes

DevicePathを知っている場合は、

Get-DiskImage -DevicePath \\.\CDROM0

ドライブ文字しかわからない場合は、試してください(パスから末尾の「\」を削除する必要があります)

Get-Volume -DriveLetter I  | % { Get-DiskImage -DevicePath $($_.Path -replace "\\$")}

サンプル結果:

Attached          : True
DevicePath        : \\.\CDROM1
FileSize          : 2494107648
ImagePath         : C:\temp\demo.iso
LogicalSectorSize : 2048
...
1
jfrmilner