2017-09-04 115 views
1

我在通過網絡獲取安裝的ISO驅動器號時遇到問題。我已經使用Mount-DiskImage -ImagePath $ISOPATH進行安裝。 當我登錄的ISO文件,這是本地存儲在磁盤D:\,我通過PowerShell獲得音量信息沒有問題:Get-DiskImage -ImagePath $ISOPATH | Get-Volume。這是腳本的樣子:通過網絡獲取安裝的iso的驅動器號

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

Get-PSDrive |其中{$ _。DisplayRoot -eq $ ISOPATH}應該爲您提供驅動器盤符。 –

+0

感謝大衛的回覆。不幸的是它不能工作;(結果是空白的: – konpro11

回答

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 
  • 如果你保證沒有硬盤同時坐騎在你的系統發生。
  • 安裝後可能需要啓動睡眠以確保分配的驅動器號
+0

Fllimonic,感謝您的回覆。問題是,在網絡上掛載磁盤映像後,Get-Volume命令沒有看到這個磁盤,所以它不會能夠比較它現在,這是你還經歷過的事情,或者它就像我的電腦上那樣? – konpro11

+0

我已經在我的電腦上測試過它了W10。可能需要等待磁盤掛載並添加一個循環do {try {$ dl = ...} catch {}} while($ dl -eq $ null) – filimonic