天天看點

PowerCLI Extend Disk

Script

------------------------------------------------------------------------------------------

# PowerCLI-Extend-Disks.ps1

# Must be run in VMware PowerCLI

# Written by Jason Pearce, www.jasonpearce.com, (2015 June)

# Inspiration from Brian Wuchner, Adam Stahl, and of course Luc Dekens (LucD)

# BEGIN Variables

# vCenter that contains target VMs

Add-PSSnapin vmWARE.VimAutomation.Core

$vc="vcname"

$date = Get-Date -Format 'yyyyMMdd'

$SourceVMs = "C:\PS\vmlist.txt"

$list = Get-Content $SourceVMs

# New hard drive size you want (should be larger than current drive size)

$NewCapacityGB=25

# One or more virtual machines you want to target (modify and uncomment this line)

# $VMs=(Get-Cluster -Name "ClusterName" | Get-VM -Name "VM-Prefix-*")

# $VMs=("VM1","VM2","VM3")

# Virtual Machine Windows Credentials (a local admin account)

$GuestUser="administrator"

$GuestPassword="4444abcde!"

# END Variables

# BEGIN Script

# Connect to vCenter via PowerCLI

Connect-VIServer $vc

# BEGIN foreach loop

foreach ($VM in $list) {

# Have vSphere PowerCLI increase the size of the first hard drive in each target VM

  Get-VM $VM | Get-HardDisk | Where-Object {$_.Name -eq "Hard Disk 2"}  | Set-HardDisk -CapacityGB $NewCapacityGB -Confirm:$false

# Run DISKPART in the guest OS of each of the specified virtual machines

  Invoke-VMScript -VM $VM -ScriptText "ECHO RESCAN > C:\DiskPart.txt && ECHO SELECT Volume E >> C:\DiskPart.txt && ECHO EXTEND >> C:\DiskPart.txt && ECHO EXIT >> C:\DiskPart.txt && DiskPart.exe /s C:\DiskPart.txt && DEL C:\DiskPart.txt /Q" -ScriptType BAT -GuestUser $GuestUser -GuestPassword $GuestPassword

}

# END foreach loop

# Disconnect from vCenter

Disconnect-VIserver -Confirm:$false

# END Script

<a href="http://down.51cto.com/data/2366949" target="_blank">附件:http://down.51cto.com/data/2366949</a>

本文轉自學海無涯部落格51CTO部落格,原文連結http://blog.51cto.com/549687/1959009如需轉載請自行聯系原作者

520feng2007

繼續閱讀