使用PowerShell格式化磁盘而不提示确认

时间:2017-03-06 08:38:49

标签: powershell azure powershell-v3.0

我已将数据磁盘添加到Azure虚拟机,我需要为它们创建一个卷。

我使用以下代码创建卷:

$disk = Get-Disk | where-object PartitionStyle -eq "RAW"  
$disk | Initialize-Disk -PartitionStyle GPT  
$partition = $disk | New-Partition -UseMaximumSize -DriveLetter F  
$partition | Format-Volume -Confirm:$false -Force  

创建卷时,它会在格式化磁盘之前要求确认。

我想避免这个确认框。我试过了-Confirm:$false -Force,但它仍然提示确认。

4 个答案:

答案 0 :(得分:2)

这解决了我的问题。使用以下代码时不会出现确认弹出窗口。

$disk = Get-Disk | where-object PartitionStyle -eq "RAW"  
Initialize-Disk -Number $disk.Number -PartitionStyle MBR -confirm:$false  
New-Partition -DiskNumber $disk.Number -UseMaximumSize -IsActive | Format-Volume -FileSystem NTFS -NewFileSystemLabel "Local Disk" -confirm:$False  
Set-Partition -DiskNumber $disk.Number -PartitionNumber 1 -NewDriveLetter F  

答案 1 :(得分:1)

看来这可能是Format-Volume如何处理的错误 - 如下所述确认:https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088429-format-volume-force-parameter-does-not-work

建议的解决方法是在开始之前设置$confirmpreference = 'none'

您可能还想首先将当前的$ confirmmpreference抓取到变量中,然后将其恢复到之后的状态。 E.g:

$disk = Get-Disk | where-object PartitionStyle -eq "RAW"  
$disk | Initialize-Disk -PartitionStyle GPT  
$partition = $disk | New-Partition -UseMaximumSize -DriveLetter F  

$currentconfirm = $confirmpreference
$confirmpreference = 'none'
$partition | Format-Volume -Force  
$confirmpreference = $currentconfirm 

答案 2 :(得分:1)

Stop-Service -Name ShellHWDetection
$Disk = Get-Disk 2
# $Disk | Clear-Disk -RemoveData -Confirm:$false
$Disk | Initialize-Disk -PartitionStyle MBR
$Disk | New-Partition -UseMaximumSize -DriveLetter T | Format-Volume -FileSystem NTFS -NewFileSystemLabel "DiskLevel" -Confirm:$false -Force
Start-Service -Name ShellHWDetection
Above code worked for me Stop and Start of  ShellHWDetection is the key here 

答案 3 :(得分:1)

Clear-Disk $DiskNum -RemoveData -Confirm:$false