如何在PowerShell 5.1中实现此DPS磁盘操作脚本的功能?
在PowerShell 5.1中实现DiskPart脚本的等效操作
目标DiskPart脚本
你提供的这段DiskPart脚本用于创建并配置一个可扩展VHD:
create vdisk file="C:\Image.vhd" maximum=10000 type=expandable attach vdisk create partition primary format fs=ntfs quick rescan assign letter=I
PowerShell 5.1实现方案
PowerShell 5.1自带的Storage模块可以完成相同操作,以下是对应脚本:
# 创建最大容量10000MB的可扩展VHD(和DiskPart参数完全匹配) New-VHD -Path "C:\Image.vhd" -MaximumSizeBytes 10000MB -Dynamic # 挂载这个VHD Mount-VHD -Path "C:\Image.vhd" # 定位刚挂载的未初始化磁盘 $targetDisk = Get-Disk | Where-Object { $_.Location -eq "C:\Image.vhd" -and $_.PartitionStyle -eq "RAW" } # 初始化磁盘(MBR格式,和DiskPart默认一致) Initialize-Disk -Number $targetDisk.Number -PartitionStyle MBR # 创建主分区、快速格式化NTFS并分配盘符I New-Partition -DiskNumber $targetDisk.Number -UseMaximumSize -DriveLetter I | Format-Volume -FileSystem NTFS -Quick -Confirm:$false
对应关系说明
New-VHD对应create vdisk:-Dynamic等价于type=expandable,-MaximumSizeBytes 10000MB和maximum=10000(DiskPart单位为MB)完全匹配Mount-VHD对应attach vdiskInitialize-Disk:DiskPart会自动初始化未格式化磁盘,但PowerShell需要显式执行,这里用MBR格式保持和DiskPart默认行为一致New-Partition + Format-Volume:一次性完成create partition primary、format fs=ntfs quick和assign letter=I的操作,-Confirm:$false避免格式化时的确认弹窗- DiskPart中的
rescan命令在PowerShell中不需要显式执行,挂载VHD后系统会自动识别磁盘
内容的提问来源于stack exchange,提问作者noobie
相关产品推荐
相关产品推荐

