1. 程式人生 > 實用技巧 >用命令來操作vSphere:十一 PowerCLI命令--虛擬機器操作

用命令來操作vSphere:十一 PowerCLI命令--虛擬機器操作

1.get-vm

功能:檢索ESX伺服器上的vSphere的虛擬機器。

語法:

Get-VM [-Datastore <Datastore[]>] [-Location <VIContainer[]>] [[-Name] <String[]>] [-Id <String[]>] [-NoRecursion] [-Server <VIServer[]>] [<CommonParameters>]
Get-VM [-DistributedSwitch <DistributedSwitch[]>] [[-Name] <String[]>] [-Id <String[]>] [-NoRecursion] [-Server <VIServer[]>] [<CommonParameters>]

例子:

get-vm

2.move-vm

功能:把虛擬機器移動到另一個位置。

語法:

Move-VM [[-Destination] <VIContainer>] [-Datastore <Datastore>] [-DiskStorageFormat <VirtualDiskStorageFormat>] [-RunAsync] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

(1)Get-VM -Name winxp | Move-VM -Destination 10.23.112.235將虛擬機器winxp從目前的位置移動到IP地址為10.23.112.235的虛擬機器主機上。(2)Move-VM -VM winxp -Destination ResourcePool移動虛擬機器winxp到ResourcePool。 ESX主機不會改變。

3.new-vm

功能:建立一個新的虛擬機器。

語法:

New-VM [-VMHost] <VMHost> [-Version <VMVersion>] -Name <String> [-ResourcePool <ResourcePool>] [-VApp <VApp>] [-Location <Folder>] [-Datastore <Datastore>] [-DiskMB <Int64[]>] [-DiskPath <String[]>] [-DiskStorageFormat <VirtualDiskStorageFormat>] [-MemoryMB <Int64>] [-NumCpu <Int32>] [-Floppy] [-CD] [-GuestId <String>] [-AlternateGuestName <String>] [-NetworkName <String[]>] [-HARestartPriority <HARestartPriority>] [-HAIsolationResponse <HAIsolationResponse>] [-DrsAutomationLevel <DrsAutomationLevel>] [-VMSwapfilePolicy <VMSwapfilePolicy>] [-Server <VIServer[]>] [-RunAsync] [-Description <String>] [-WhatIf] [-Confirm] [<CommonParameters>]

New-VM [-VMHost] <VMHost> [-Name <String>] [-ResourcePool <ResourcePool>] [-VApp <VApp>] [-Location <Folder>] [-Datastore <Datastore>] [-DiskStorageFormat <VirtualDiskStorageFormat>] [-OSCustomizationSpec <OSCustomizationSpec>] [-HARestartPriority <HARestartPriority>] [-HAIsolationResponse <HAIsolationResponse>] [-DrsAutomationLevel <DrsAutomationLevel>] [-Server <VIServer[]>] [-RunAsync] [-Description <String>] -VM <VirtualMachine[]> [-WhatIf] [-Confirm] [<CommonParameters>]
New-VM [-VMHost] <VMHost> -Name <String> [-ResourcePool <ResourcePool>] [-VApp <VApp>] [-Location <Folder>] [-Datastore <Datastore>] [-Template] <Template> [-DiskStorageFormat <VirtualDiskStorageFormat>] [-OSCustomizationSpec <OSCustomizationSpec>] [-HARestartPriority <HARestartPriority>] [-HAIsolationResponse <HAIsolationResponse>] [-DrsAutomationLevel <DrsAutomationLevel>] [-Server <VIServer[]>] [-RunAsync] [-Description <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
New-VM [-VMHost] <VMHost> [-Name <String>] [-ResourcePool <ResourcePool>] [-VApp <VApp>] [-Location <Folder>] [-HARestartPriority <HARestartPriority>] [-HAIsolationResponse <HAIsolationResponse>] [-DrsAutomationLevel <DrsAutomationLevel>] -VMFilePath <String> [-Server <VIServer[]>] [-RunAsync] [-Description <String>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

(1)New-VM -Name VM -VMHost Host -ResourcePool ResourcePool -DiskMB 4000 -MemoryMB 256

(2)New-Template -VM VM1 -Name Template -Location Datacenter
New-VM -Name VM2 -Template Template -VMHost $host

建立模板從VM1虛擬機器的虛擬機器模板。然後建立一個虛擬機器基於模板的命名將VM2

(3)New-VM -VM VM1, VM2 -Location Folder -VMHost Host

(4)$vm2 = New-VM -Name VM2 -VM VM1 -Datastore $datastore -VMHost $host

(5)$vm = Get-VM VM*

New-VM -VM $vm -VMHost $host

(6)cd vmstores:\[email protected]\Datacenter\Storage1\myvm\
$vmxFile = Get-Item *.vmx
New-VM -VMHost $host -VMFilePath $vmxFile.DatastoreFullPath

4.remove-vm

功能:從vSphere刪除伺服器上指定的虛擬機器。

語法:

Remove-VM [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]
Remove-VM -DeletePermanently [-RunAsync] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

Remove-VM winxp -DeletePermanently

5.set-vm

功能:更改虛擬機器的配置。

語法:

Set-VM [-VM] <VirtualMachine> [-Name <String>] [-Version <VMVersion>] [-MemoryMB <Int64>] [-NumCpu <Int32>] [-GuestId <String>] [-AlternateGuestName <String>] [-OSCustomizationSpec <OSCustomizationSpec>] [-HARestartPriority <HARestartPriority>] [-HAIsolationResponse <HAIsolationResponse>] [-DrsAutomationLevel <DrsAutomationLevel>] [-Server <VIServer[]>] [-RunAsync] [-VMSwapFilePolicy <VMSwapfilePolicy>] [-Description <String>] [-WhatIf] [-Confirm] [<CommonParameters>]
Set-VM [-VM] <VirtualMachine> [-Name <String>] [-Snapshot <Snapshot>] [-OSCustomizationSpec <OSCustomizationSpec>] [-HARestartPriority <HARestartPriority>] [-HAIsolationResponse <HAIsolationResponse>] [-DrsAutomationLevel <DrsAutomationLevel>] [-Server <VIServer[]>] [-RunAsync] [-VMSwapFilePolicy <VMSwapfilePolicy>] [-WhatIf] [-Confirm] [<CommonParameters>]
Set-VM [-VM] <VirtualMachine> [-Name <String>] [-Server <VIServer[]>] [-RunAsync] [-ToTemplate] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

(1)Set-VM -VM VM -Name VM1 -GuestId "winXPProGuest" -Description "My updated virtual machine."

(2)$template = Get-VM VM | Set-VM -ToTemplate -Name VMTemplate

6.start-vm

功能:啟動ESX上的虛擬機器

語法:

Start-VM [-RunAsync] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

Start-VM -VM winxp -Confirm -RunAsync

7.stop-vm

功能:關閉ESX上的虛擬機器

語法:

Stop-VM [-Kill] [-RunAsync] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

(1)Stop-VM -VM VM –Confirm

(2)Stop-VM -VM VM -Kill -Confirm:$false

8.restart-vm

功能:重啟虛擬機器

語法:

Restart-VM [-RunAsync] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

Restart-VM -VM winxp -RunAsync -Confirm

9.suspend-vm

功能:暫停虛擬機器。

語法:

Suspend-VM [-RunAsync] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

Get-VM VM | Suspend-VM

10.get-cddrive

功能:檢索虛擬CD驅動器。

語法:

Get-CDDrive [[-VM] <VirtualMachine[]>] [[-Template] <Template[]>] [[-Snapshot] <Snapshot[]>] [-Server <VIServer[]>] [<CommonParameters>]

例子:

Get-VM -Name VM | Get-CDDrive

11.new-cddrive

功能:建立一個新的虛擬光碟驅動器。

語法:

New-CDDrive [-IsoPath <String>] [-HostDevice <String>] [-StartConnected] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

New-CDDrive -VM $vm -ISOPath "Path_to_ISO\test.iso"

12.remove-cddrive

功能:移除虛擬CD驅動器。

語法:

Remove-CDDrive [-CD] <CDDrive[]> [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

$cd = Get-CDDrive -VM $vm -Template $template Remove-CDDrive -CD $cd

13.set-cddrive

功能:設定虛擬機器光碟驅動器的配置。

語法:

Set-CDDrive [-CD] <CDDrive[]> [-IsoPath <String>] [-HostDevice <String>] [-NoMedia] [-StartConnected [<Boolean>]] [-Connected [<Boolean>]] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

$cd = New-CDDrive -VM VM -ISOPath "[sof-20666-esx:storage1] ISO\testISO.iso" Set-CDDrive -CD $cd -NoMedia

14.get-floppydrive

功能:檢索上的vSphere的虛擬伺服器上可用的軟盤驅動器。

語法:

Get-FloppyDrive [[-VM] <VirtualMachine[]>] [[-Template] <Template[]>] [[-Snapshot] <Snapshot[]>] [-Server <VIServer[]>] [<CommonParameters>]

例子:

Get-FloppyDrive -VM VM

15.new-floppydrive

功能:建立一個新的虛擬軟盤驅動器。

語法:

New-FloppyDrive [-FloppyImagePath <String>] [-NewFloppyImagePath <String>] [-HostDevice <String>] [-StartConnected] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

New-FloppyDrive -VM VM -HostDevice '/dev/fd0' -StartConnected

16.remove-floppydrive

功能:刪除虛擬軟盤驅動器。

語法:

Remove-FloppyDrive [-Floppy] <FloppyDrive[]> [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

$floppy = Get-FloppyDrive -VM VM Remove-FloppyDrive -Floppy $floppy

17.set-floppydrive

功能:配置虛擬軟盤驅動器。

語法:

Set-FloppyDrive [-Floppy] <FloppyDrive[]> [-FloppyImagePath <String>] [-HostDevice <String>] [-NoMedia] [-StartConnected [<Boolean>]] [-Connected [<Boolean>]] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

Set-FloppyDrive -Floppy $floppy -StartConnected:$true

18.copy-harddisk

功能:複製一個虛擬硬碟到另一個目的地。

語法:

Copy-HardDisk [-HardDisk] <HardDisk[]> [-DestinationPath] <String> [-DestinationStorageFormat <VirtualDiskStorageFormat>] [-Force] [-RunAsync] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

(1)Get-HardDisk -VM $vm | Copy-HardDisk "[Storage1]/"

(2)Copy-HardDisk -HardDisk $hdd -DestinationPath "[Storage1] vms/disks" -DestinationStorageFormat Thick

19.get-harddisk

功能:檢索上的vSphere的虛擬伺服器上可用的硬碟。

語法:

Get-HardDisk [-Path <DatastoreItem[]>] [-DiskType <DiskType[]>] [-Server <VIServer[]>] [<CommonParameters>]
Get-HardDisk -Datastore <Datastore[]> [-DatastorePath <String[]>] [-DiskType <DiskType[]>] [-Server <VIServer[]>] [<CommonParameters>]
Get-HardDisk [-DiskType <DiskType[]>] [[-VM] <VirtualMachine[]>] [[-Template] <Template[]>] [[-Snapshot] <Snapshot[]>] [-Server <VIServer[]>] [<CommonParameters>]

例子:

(1)Get-HardDisk -VM VM

(2)Get-HardDisk -VM $vm -DiskType flat

(3)Get-HardDisk -Datastore "Storage1" -DatastorePath "[Storage1] myVM/"

20.new-harddisk

功能:在指定的位置新增一個新的硬碟。

語法:

New-HardDisk [[-Persistence] <String>] [-Controller <ScsiController>] [[-DiskType] <DiskType>] [-CapacityKB <Int64>] [-Split] [-ThinProvisioned] [-StorageFormat <VirtualDiskStorageFormat>] [-DeviceName <String>] [-Datastore <Datastore>] [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]
New-HardDisk [[-Persistence] <String>] [-Controller <ScsiController>] -DiskPath <String> [-VM] <VirtualMachine[]> [-Server <VIServer[]>] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

(1)$vm = Get-VM VM

$vm | New-HardDisk -CapacityKB 10000 -Persistence persistent

(2)$deviceName = ($host | Get-ScsiLun | Where {$_.CanonicalName -match "naa"})[0].ConsoleDeviceName New-HardDisk -VM $vm -DiskType RawPhysical -DeviceName $deviceName(3)New-HardDisk -VM $vm -CapacityKB 1024000 -Persistence IndependentNonPersistent

21.remove-harddisk

功能:刪除指定的虛擬硬碟。

語法:

Remove-HardDisk [-HardDisk] <HardDisk[]> [-DeletePermanently] [-WhatIf] [-Confirm] [<CommonParameters>]

例子:

Get-HardDisk -VM $vm | Remove-HardDisk

轉載於:https://blog.51cto.com/370135415/584591