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 …