如何使用“IF”语句来确定要添加到 VMDK 的可用磁盘空间量?

问题描述

我使用的脚本如下。我们正在将我们的 1500 VDI 从 Windows 10 1809 升级到 1909,我们希望尽可能自动化该过程,因为这将是我们必须定期执行 Windows 推出的每个新版本的过程。我们正在使用 SCCM(系统中心配置管理器)。该脚本非常适合为多台机器扩展磁盘空间。它正在导入的 .csv 文件仅包含脚本要在其上扩展磁盘空间的虚拟机列表。我想使用“if”语句来确定可用空间量是否低于 30GB,如果是,则添加所需的磁盘空间以使其达到 30GB 可用空间。示例:“if”可用磁盘空间为 -lt 30GB,Set-HardDisk -CapacityGB(提供 30GB 可用空间的差异),“if”可用空间为 -eq 到 30GB,什么都不做。我已经研究过谷歌和这个网站的任何远程类似的东西,但无法找到我需要的东西。感谢所有帮助实现这一目标。

##Task Change Disk Size
##Variable clear
$csvobjects = @()
$cskobject = @()
$network = @()
$isalive = @()

##Import VM name(s)
$csvobjects = Import-CSV -path "C:\Temp\ExpandHDDiskList.csv"

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

connect-viserver -server anyserver.com -User [email protected]

foreach ($csvobject in $csvobjects){
##Variable clear
$network = @()
$isalive = @()
##Pre-change data gathering
$beforechange = (GET-VM -Name $csvobject.vmname | FT -auto CapacityGB|out-string)
##Stop VM
GET-VM -Name $csvobject.vmname | Get-HardDisk -Name 'Hard disk 1' | Set-HardDisk -CapacityGB 75 -Confirm:$false
start-sleep -s 60

# Variable specifying the drive you want to extend
$drive_letter = "C"

# Script to get the partition sizes and then resize the volume
$size = (Get-PartitionSupportedSize -DriveLetter $drive_letter)
Resize-Partition -DriveLetter $drive_letter -Size $size.SizeMax
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)