2
PowerShellスクリプトでDiskpartを使用すると、スクリプトでドライブ文字を再利用できなくなります
Diskpartを使用してVHDをマウント(アタッチ)し、いくつかのシステムファイルをクリーンアップして、アンマウント(デタッチ)するスクリプトを作成しました。これはforeachループを使用し、同じドライブ文字を使用して複数のVHDをクリーンアップすると想定されています。ただし、最初のVHDの後は失敗します。また、diskpartを使用してVHDを手動で接続しようとすると、diskpartが成功し、ディスクマネージャーに正しいドライブ文字のディスクが表示されますが、同じPoSHインスタンス内ではそのドライブに接続(設定場所)できません。最初にPoSHを開いたときに手動のdiskpartを実行すると、必要なすべてをアタッチおよびデタッチでき、毎回ドライブ文字を取得できます。スクリプトでdiskpartをリセットするために必要なことはありますか?これが私が使用しているスクリプトのスニペットです。 function Mount-VHD { [CmdletBinding()] param ( [Parameter(Position=0,Mandatory=$true,ValueFromPipeline=$false)] [string]$Path, [Parameter(Position=1,Mandatory=$false,ValueFromPipeline=$false)] [string]$DL, [string]$DiskpartScript = "$env:SystemDrive\DiskpartScript.txt", [switch]$Rescan ) begin { function InvokeDiskpart { Diskpart.exe /s $DiskpartScript } ## Validate Operating System Version ## if (Get-WmiObject win32_OperatingSystem -Filter "Version < '6.1'") {throw "The script operation requires at least Windows 7 or Windows Server …