我在通过网络获取已安装的ISO的驱动器时遇到问题。我使用Mount-DiskImage -ImagePath $ISOPATH
进行安装。
当我挂载本地存储在磁盘D:\上的ISO文件时,我通过powershell获取卷信息没有问题:Get-DiskImage -ImagePath $ISOPATH | Get-Volume
。这就是脚本的样子:
Mount-DiskImage –ImagePath $ISOPATH
$driveletter = (Get-DiskImage -ImagePath $ISOPATH | get-volume).driveletter + ":"
cd $driveletter\Nanoserver
上面的代码适用于本地ISO文件。
但是,从网络共享安装ISO文件时,Get-Volume
命令不再起作用。它没有看到新安装的驱动器,尽管它可见并可通过Windows资源管理器访问。
命令Get-DiskImage -ImagePath $ISOPATH | Get-Volume
不再显示任何信息,而是显示空白结果。
我通过powershell看到这个驱动器的唯一方法是使用Get-PSdrive
命令,但是,我很难通过此命令以自动方式获取该字母。
有没有人解决这个问题?
如果需要,我很乐意提供更多信息。 感谢
答案 0 :(得分:0)
基于之前($vl1
)和之后($vl2
)比较的解决方法(在生产中未经测试):
$vl1 = @(Get-Volume);
$disk = Mount-DiskImage -ImagePath "\\172.19.21.47\www\debian-8.8.0-amd64-netinst.iso" -PassThru ;
$vl2 = @(Get-Volume);
$dl = @( $vl2 | ? {$vl1 -notcontains $_} )[0].DriveLetter