2017-09-04 18 views
1

ネットワーク経由でマウントされたISOのドライブレターを取得する際に問題があります。私は取り付けのためにMount-DiskImage -ImagePath $ISOPATHを使用しました。 ディスクD:\にローカルに保存されていたISOファイルをマウントすると、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

返事のためにDavidに感謝します。残念なことに、どちらも動作しません;(結果は空白です:( – 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

FIlimonic、返事ありがとうございます。)問題は、ネットワーク経由でディスクイメージをマウントした後、Get-Volumeコマンドでこのディスクが表示されないためです。それを比較することができるようになりましたか?今、これはあなたも経験したことですか、それとも私のコンピュータのようなものですか? – konpro11

+0

私は自分のPCでW10をテストしました。ディスクがマウントされてループが追加されるのを待つ必要があります。{try {$ dl = ...} catch {}} while($ dl -eq $ null) – filimonic

関連する問題