All of our servers are getting their Disk allocations increased. I have no desire to type:
Select disk 6
Select Partition 1
Extend
Select disk 7
Select Partitio
For VMs inside vSphere/ESX
After expanding a VMDK in vSphere that expansion is not always immediately apparent to a Windows guest OS. Sometimes it never sees it at all until the following steps are taken.
Typically you have to open Disk Management and do a Refresh for the system to then see the additional space that has been added on. Only after that can you then Expand the drive in Windows.
The two scripts above worked fine if you had already gone in and done that refresh, but obviously the point of all this is to take as much manual labor out as possible. I tested and added onto the first script. Works exactly as needed for me.
Update-Disk -Number $matches[1] is the key line.
function List-Disks {
'list disk' | diskpart |
? { $_ -match 'disk (\d+)\s+online\s+\d+ .?b\s+\d+ [gm]b' } |
% { $matches[1] }
Update-Disk -Number $matches[1]
}
function List-Partitions($disk) {
"select disk $disk", "list partition" | diskpart |
? { $_ -match 'partition (\d+)' } |
% { $matches[1] }
}
function Extend-Partition($disk, $part) {
"select disk $disk","select partition $part","extend" | diskpart |
Out-Null
}
List-Disks | % {
$disk = $_
List-Partitions $disk | % {
Extend-Partition $disk $_
}
}