<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=VMware%2FPowerCLI</id>
	<title>VMware/PowerCLI - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=VMware%2FPowerCLI"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=VMware/PowerCLI&amp;action=history"/>
	<updated>2026-05-07T02:39:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=VMware/PowerCLI&amp;diff=1101&amp;oldid=prev</id>
		<title>Kenneth: /* vCenter Update Manager PowerCLI */</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=VMware/PowerCLI&amp;diff=1101&amp;oldid=prev"/>
		<updated>2014-09-22T01:26:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;vCenter Update Manager PowerCLI&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== PowerCLI ==&lt;br /&gt;
&lt;br /&gt;
VMware PowerCLI - http://www.vmware.com/go/powercli&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;VMware vSphere PowerCLI is a powerful command line tool that lets you automate all aspects of vSphere management, including network, storage, VM, guest OS and more. PowerCLI is distributed as a Windows PowerShell snapin, and includes more than 250 PowerShell cmdlets, along with documentation and samples.&amp;quot; [http://www.vmware.com/go/powercli]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          Welcome to the VMware vSphere PowerCLI!&lt;br /&gt;
&lt;br /&gt;
Log in to a vCenter Server or ESX host:              Connect-VIServer&lt;br /&gt;
To find out what commands are available, type:       Get-VICommand&lt;br /&gt;
To show searchable help for all PowerCLI commands:   Get-PowerCLIHelp&lt;br /&gt;
Once you&amp;#039;ve connected, display all virtual machines: Get-VM&lt;br /&gt;
If you need more help, visit the PowerCLI community: Get-PowerCLICommunity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: VMware PowerCLI requires [http://support.microsoft.com/kb/968929 Windows PowerShell 2.0].&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
VMware APIs and SDKs Documentation - http://www.vmware.com/support/pubs/sdk_pubs.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VMware vSphere PowerCLI - http://www.vmware.com/support/developer/PowerCLI/index.html&lt;br /&gt;
* Release Notes&lt;br /&gt;
* Installation Guide&lt;br /&gt;
* Administration Guide(Updated 1/13/2011)&lt;br /&gt;
* Developer&amp;#039;s Guide&lt;br /&gt;
* Online Cmdlet Reference&lt;br /&gt;
&lt;br /&gt;
Online Cmdlet Reference - http://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/index.html&lt;br /&gt;
&lt;br /&gt;
=== Quick Reference Poster ===&lt;br /&gt;
&lt;br /&gt;
Quick Reference Poster [http://tech.philipsellers.com/2013/02/11/powercli-one-liners-for-storage/]&lt;br /&gt;
* http://blogs.vmware.com/vipowershell/files/2012/09/PowerCLI_5_1_Poster.pdf&lt;br /&gt;
&lt;br /&gt;
== Help ==&lt;br /&gt;
&lt;br /&gt;
To show searchable help for all PowerCLI commands:&lt;br /&gt;
 Get-PowerCLIHelp&lt;br /&gt;
&lt;br /&gt;
To find out what commands are available, type:&lt;br /&gt;
 Get-VICommand&lt;br /&gt;
&lt;br /&gt;
Help on command:&lt;br /&gt;
 get-help [command]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connect ==&lt;br /&gt;
&lt;br /&gt;
 Log in to a vCenter Server or ESX host:              Connect-VIServer&lt;br /&gt;
&lt;br /&gt;
SYNTAX&lt;br /&gt;
    Connect-VIServer [[-Server] &amp;lt;String[]&amp;gt;] [-Port &amp;lt;Int32&amp;gt;] [-Protocol &amp;lt;String&amp;gt;&lt;br /&gt;
    ] [-Credential &amp;lt;PSCredential&amp;gt;] [-User &amp;lt;String&amp;gt;] [-Password &amp;lt;String&amp;gt;] [-Sess&lt;br /&gt;
    ion &amp;lt;String&amp;gt;] [-NotDefault] [-SaveCredentials] [&amp;lt;CommonParameters&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
    Connect-VIServer -Menu [&amp;lt;CommonParameters&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
Connect:&lt;br /&gt;
 C:\PS&amp;gt; Connect-VIServer -Server 10.23.112.235 -Protocol https -User admin -Password pass&lt;br /&gt;
 C:\&amp;gt; Connect-VIServer -Server vc&lt;br /&gt;
 C:\&amp;gt; Connect-VIServer -Server vc -User root -Password Password1&lt;br /&gt;
&lt;br /&gt;
Help:&lt;br /&gt;
 get-help connect-viserver&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 get-help connect-viserver -examples&lt;br /&gt;
&lt;br /&gt;
== VM Management ==&lt;br /&gt;
&lt;br /&gt;
=== List VMs ===&lt;br /&gt;
&lt;br /&gt;
Get-VM: http://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/Get-VM.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[vSphere PowerCLI] C:\&amp;gt; Get-VM&lt;br /&gt;
&lt;br /&gt;
Name                 PowerState Num CPUs Memory (MB)&lt;br /&gt;
----                 ---------- -------- -----------&lt;br /&gt;
win245               PoweredOn  1        1024&lt;br /&gt;
TESTr2               PoweredOn  1        4096&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List all available columns:&lt;br /&gt;
 get-vm | select *&lt;br /&gt;
&lt;br /&gt;
Select specific columns:&lt;br /&gt;
 get-vm | select Name,VMHost&lt;br /&gt;
&lt;br /&gt;
Filter by name:&lt;br /&gt;
 get-vm -name test111&lt;br /&gt;
 get-vm | select Name | Where-Object {$_.Name -like &amp;quot;*test*&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
List VMDKs associated with VM:&lt;br /&gt;
 get-vm | where-object {$_.name -like &amp;quot;*test*&amp;quot;} | get-harddisk&lt;br /&gt;
&lt;br /&gt;
Get VMX Path: [http://gallery.technet.microsoft.com/scriptcenter/Get-the-VMX-Path-for-68c78336] [http://communities.vmware.com/thread/288390?start=0&amp;amp;tstart=0]&lt;br /&gt;
 get-vm -name test333 | Add-Member -MemberType ScriptProperty -Name &amp;#039;VMXPath&amp;#039; -Value {$this.extensiondata.config.files.vmpathname} -Passthru -Force | select name,vmxpath&lt;br /&gt;
 Get-VM -name test333 | Select Name, @{N=&amp;quot;VMX&amp;quot;;E={$_.Extensiondata.Summary.Config.VmPathName}}&lt;br /&gt;
&lt;br /&gt;
=== Export VM info to Excel ===&lt;br /&gt;
&lt;br /&gt;
 Get-VM | Select-Object Name,NumCPU,MemoryMB,PowerState,VMHost | Export-CSV VMs.csv -NoTypeInformation&lt;br /&gt;
&lt;br /&gt;
Source: [http://www.simple-talk.com/sysadmin/virtualization/10-steps-to-kick-start-your-vmware-automation-with-powercli/ 10 Steps to Kick-Start Your VMware Automation with PowerCLI]&lt;br /&gt;
&lt;br /&gt;
=== List Powered On VMs ===&lt;br /&gt;
&lt;br /&gt;
 Get-VM | Where-Object { $_.PowerState -eq &amp;quot;PoweredOn&amp;quot;  } | Select-Object Name&lt;br /&gt;
&lt;br /&gt;
Source: [http://www.simple-talk.com/sysadmin/virtualization/10-steps-to-kick-start-your-vmware-automation-with-powercli/ 10 Steps to Kick-Start Your VMware Automation with PowerCLI]&lt;br /&gt;
&lt;br /&gt;
=== List VMs with Connected CD Drives ===&lt;br /&gt;
&lt;br /&gt;
 Get-VM | Where-Object {$_ | Get-CDDrive |&lt;br /&gt;
    Where-Object { $_.ConnectionState.Connected -eq &amp;quot;true&amp;quot;  } } |&lt;br /&gt;
    Select-Object Name&lt;br /&gt;
&lt;br /&gt;
Source: [http://www.simple-talk.com/sysadmin/virtualization/10-steps-to-kick-start-your-vmware-automation-with-powercli/ 10 Steps to Kick-Start Your VMware Automation with PowerCLI]&lt;br /&gt;
&lt;br /&gt;
=== Remove VM ===&lt;br /&gt;
&lt;br /&gt;
 Remove-VM [-DeletePermanently] -Confirm:$false &amp;quot;[VMNAME]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Comments ===&lt;br /&gt;
&lt;br /&gt;
 # this is a comment&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
&lt;br /&gt;
 $var = 1&lt;br /&gt;
 $var = &amp;quot;test&amp;quot;&lt;br /&gt;
 echo $var&lt;br /&gt;
&lt;br /&gt;
=== Write Message ===&lt;br /&gt;
&lt;br /&gt;
 write-host &amp;quot;message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== All Commands ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Name&lt;br /&gt;
----&lt;br /&gt;
Add-PassthroughDevice&lt;br /&gt;
Add-VMHost&lt;br /&gt;
Add-VmHostNtpServer&lt;br /&gt;
Apply-DrsRecommendation&lt;br /&gt;
Apply-VMHostProfile&lt;br /&gt;
Connect-VIServer&lt;br /&gt;
Copy-DatastoreItem&lt;br /&gt;
Copy-HardDisk&lt;br /&gt;
Copy-VMGuestFile&lt;br /&gt;
Disconnect-VIServer&lt;br /&gt;
Dismount-Tools&lt;br /&gt;
Export-VApp&lt;br /&gt;
Export-VMHostProfile&lt;br /&gt;
Format-VMHostDiskPartition&lt;br /&gt;
Get-AdvancedSetting&lt;br /&gt;
Get-AlarmAction&lt;br /&gt;
Get-AlarmActionTrigger&lt;br /&gt;
Get-AlarmDefinition&lt;br /&gt;
Get-Annotation&lt;br /&gt;
Get-CDDrive&lt;br /&gt;
Get-Cluster&lt;br /&gt;
Get-CustomAttribute&lt;br /&gt;
Get-Datacenter&lt;br /&gt;
Get-Datastore&lt;br /&gt;
Get-DrsRecommendation&lt;br /&gt;
Get-DrsRule&lt;br /&gt;
Get-ErrorReport&lt;br /&gt;
Get-EsxCli&lt;br /&gt;
Get-EsxTop&lt;br /&gt;
Get-FloppyDrive&lt;br /&gt;
Get-Folder&lt;br /&gt;
Get-HAPrimaryVMHost&lt;br /&gt;
Get-HardDisk&lt;br /&gt;
Get-Inventory&lt;br /&gt;
Get-IScsiHbaTarget&lt;br /&gt;
Get-Log&lt;br /&gt;
Get-LogType&lt;br /&gt;
Get-NetworkAdapter&lt;br /&gt;
Get-NicTeamingPolicy&lt;br /&gt;
Get-OSCustomizationNicMapping&lt;br /&gt;
Get-OSCustomizationSpec&lt;br /&gt;
Get-PassthroughDevice&lt;br /&gt;
Get-PowerCLIConfiguration&lt;br /&gt;
Get-PowerCLIVersion&lt;br /&gt;
Get-ResourcePool&lt;br /&gt;
Get-ScsiController&lt;br /&gt;
Get-ScsiLun&lt;br /&gt;
Get-ScsiLunPath&lt;br /&gt;
Get-Snapshot&lt;br /&gt;
Get-Stat&lt;br /&gt;
Get-StatInterval&lt;br /&gt;
Get-StatType&lt;br /&gt;
Get-Task&lt;br /&gt;
Get-Template&lt;br /&gt;
Get-UsbDevice&lt;br /&gt;
Get-VApp&lt;br /&gt;
Get-VICredentialStoreItem&lt;br /&gt;
Get-VIEvent&lt;br /&gt;
Get-View&lt;br /&gt;
Get-VIObjectByVIView&lt;br /&gt;
Get-VIPermission&lt;br /&gt;
Get-VIPrivilege&lt;br /&gt;
Get-VIRole&lt;br /&gt;
Get-VirtualPortGroup&lt;br /&gt;
Get-VirtualSwitch&lt;br /&gt;
Get-VM&lt;br /&gt;
Get-VMGuest&lt;br /&gt;
Get-VMGuestNetworkInterface&lt;br /&gt;
Get-VMGuestRoute&lt;br /&gt;
Get-VMHost&lt;br /&gt;
Get-VMHostAccount&lt;br /&gt;
Get-VMHostAdvancedConfiguration&lt;br /&gt;
Get-VMHostAvailableTimeZone&lt;br /&gt;
Get-VMHostDiagnosticPartition&lt;br /&gt;
Get-VMHostDisk&lt;br /&gt;
Get-VMHostDiskPartition&lt;br /&gt;
Get-VMHostFirewallDefaultPolicy&lt;br /&gt;
Get-VMHostFirewallException&lt;br /&gt;
Get-VMHostFirmware&lt;br /&gt;
Get-VMHostHba&lt;br /&gt;
Get-VMHostModule&lt;br /&gt;
Get-VMHostNetwork&lt;br /&gt;
Get-VMHostNetworkAdapter&lt;br /&gt;
Get-VMHostNtpServer&lt;br /&gt;
Get-VMHostPatch&lt;br /&gt;
Get-VMHostProfile&lt;br /&gt;
Get-VMHostRoute&lt;br /&gt;
Get-VMHostService&lt;br /&gt;
Get-VMHostSnmp&lt;br /&gt;
Get-VMHostStartPolicy&lt;br /&gt;
Get-VMHostStorage&lt;br /&gt;
Get-VMHostSysLogServer&lt;br /&gt;
Get-VMQuestion&lt;br /&gt;
Get-VMResourceConfiguration&lt;br /&gt;
Get-VMStartPolicy&lt;br /&gt;
Import-VApp&lt;br /&gt;
Import-VMHostProfile&lt;br /&gt;
Install-VMHostPatch&lt;br /&gt;
Invoke-VMScript&lt;br /&gt;
Mount-Tools&lt;br /&gt;
Move-Cluster&lt;br /&gt;
Move-Datacenter&lt;br /&gt;
Move-Folder&lt;br /&gt;
Move-Inventory&lt;br /&gt;
Move-ResourcePool&lt;br /&gt;
Move-Template&lt;br /&gt;
Move-VM&lt;br /&gt;
Move-VMHost&lt;br /&gt;
New-AdvancedSetting&lt;br /&gt;
New-AlarmAction&lt;br /&gt;
New-AlarmActionTrigger&lt;br /&gt;
New-CDDrive&lt;br /&gt;
New-Cluster&lt;br /&gt;
New-CustomAttribute&lt;br /&gt;
New-CustomField&lt;br /&gt;
New-Datacenter&lt;br /&gt;
New-Datastore&lt;br /&gt;
New-DrsRule&lt;br /&gt;
New-FloppyDrive&lt;br /&gt;
New-Folder&lt;br /&gt;
New-HardDisk&lt;br /&gt;
New-IScsiHbaTarget&lt;br /&gt;
New-NetworkAdapter&lt;br /&gt;
New-OSCustomizationNicMapping&lt;br /&gt;
New-OSCustomizationSpec&lt;br /&gt;
New-ResourcePool&lt;br /&gt;
New-ScsiController&lt;br /&gt;
New-Snapshot&lt;br /&gt;
New-StatInterval&lt;br /&gt;
New-Template&lt;br /&gt;
New-VApp&lt;br /&gt;
New-VICredentialStoreItem&lt;br /&gt;
New-VIPermission&lt;br /&gt;
New-VIProperty&lt;br /&gt;
New-VIRole&lt;br /&gt;
New-VirtualPortGroup&lt;br /&gt;
New-VirtualSwitch&lt;br /&gt;
New-VM&lt;br /&gt;
New-VMGuestRoute&lt;br /&gt;
New-VMHostAccount&lt;br /&gt;
New-VMHostNetworkAdapter&lt;br /&gt;
New-VMHostProfile&lt;br /&gt;
New-VMHostRoute&lt;br /&gt;
Remove-AdvancedSetting&lt;br /&gt;
Remove-AlarmAction&lt;br /&gt;
Remove-AlarmActionTrigger&lt;br /&gt;
Remove-CDDrive&lt;br /&gt;
Remove-Cluster&lt;br /&gt;
Remove-CustomAttribute&lt;br /&gt;
Remove-CustomField&lt;br /&gt;
Remove-Datacenter&lt;br /&gt;
Remove-Datastore&lt;br /&gt;
Remove-DrsRule&lt;br /&gt;
Remove-FloppyDrive&lt;br /&gt;
Remove-Folder&lt;br /&gt;
Remove-HardDisk&lt;br /&gt;
Remove-Inventory&lt;br /&gt;
Remove-IScsiHbaTarget&lt;br /&gt;
Remove-NetworkAdapter&lt;br /&gt;
Remove-OSCustomizationNicMapping&lt;br /&gt;
Remove-OSCustomizationSpec&lt;br /&gt;
Remove-PassthroughDevice&lt;br /&gt;
Remove-ResourcePool&lt;br /&gt;
Remove-Snapshot&lt;br /&gt;
Remove-StatInterval&lt;br /&gt;
Remove-Template&lt;br /&gt;
Remove-UsbDevice&lt;br /&gt;
Remove-VApp&lt;br /&gt;
Remove-VICredentialStoreItem&lt;br /&gt;
Remove-VIPermission&lt;br /&gt;
Remove-VIProperty&lt;br /&gt;
Remove-VIRole&lt;br /&gt;
Remove-VirtualPortGroup&lt;br /&gt;
Remove-VirtualSwitch&lt;br /&gt;
Remove-VM&lt;br /&gt;
Remove-VMGuestRoute&lt;br /&gt;
Remove-VMHost&lt;br /&gt;
Remove-VMHostAccount&lt;br /&gt;
Remove-VMHostNetworkAdapter&lt;br /&gt;
Remove-VMHostNtpServer&lt;br /&gt;
Remove-VMHostProfile&lt;br /&gt;
Remove-VMHostRoute&lt;br /&gt;
Restart-VM&lt;br /&gt;
Restart-VMGuest&lt;br /&gt;
Restart-VMHost&lt;br /&gt;
Restart-VMHostService&lt;br /&gt;
Set-AdvancedSetting&lt;br /&gt;
Set-AlarmDefinition&lt;br /&gt;
Set-Annotation&lt;br /&gt;
Set-CDDrive&lt;br /&gt;
Set-Cluster&lt;br /&gt;
Set-CustomAttribute&lt;br /&gt;
Set-CustomField&lt;br /&gt;
Set-Datacenter&lt;br /&gt;
Set-Datastore&lt;br /&gt;
Set-DrsRule&lt;br /&gt;
Set-FloppyDrive&lt;br /&gt;
Set-Folder&lt;br /&gt;
Set-HardDisk&lt;br /&gt;
Set-IScsiHbaTarget&lt;br /&gt;
Set-NetworkAdapter&lt;br /&gt;
Set-NicTeamingPolicy&lt;br /&gt;
Set-OSCustomizationNicMapping&lt;br /&gt;
Set-OSCustomizationSpec&lt;br /&gt;
Set-PowerCLIConfiguration&lt;br /&gt;
Set-ResourcePool&lt;br /&gt;
Set-ScsiController&lt;br /&gt;
Set-ScsiLun&lt;br /&gt;
Set-ScsiLunPath&lt;br /&gt;
Set-Snapshot&lt;br /&gt;
Set-StatInterval&lt;br /&gt;
Set-Template&lt;br /&gt;
Set-VApp&lt;br /&gt;
Set-VIPermission&lt;br /&gt;
Set-VIRole&lt;br /&gt;
Set-VirtualPortGroup&lt;br /&gt;
Set-VirtualSwitch&lt;br /&gt;
Set-VM&lt;br /&gt;
Set-VMGuestNetworkInterface&lt;br /&gt;
Set-VMHost&lt;br /&gt;
Set-VMHostAccount&lt;br /&gt;
Set-VMHostAdvancedConfiguration&lt;br /&gt;
Set-VMHostDiagnosticPartition&lt;br /&gt;
Set-VMHostFirewallDefaultPolicy&lt;br /&gt;
Set-VMHostFirewallException&lt;br /&gt;
Set-VMHostFirmware&lt;br /&gt;
Set-VMHostHba&lt;br /&gt;
Set-VMHostModule&lt;br /&gt;
Set-VMHostNetwork&lt;br /&gt;
Set-VMHostNetworkAdapter&lt;br /&gt;
Set-VMHostProfile&lt;br /&gt;
Set-VMHostRoute&lt;br /&gt;
Set-VMHostService&lt;br /&gt;
Set-VMHostSnmp&lt;br /&gt;
Set-VMHostStartPolicy&lt;br /&gt;
Set-VMHostStorage&lt;br /&gt;
Set-VMHostSysLogServer&lt;br /&gt;
Set-VMQuestion&lt;br /&gt;
Set-VMResourceConfiguration&lt;br /&gt;
Set-VMStartPolicy&lt;br /&gt;
Shutdown-VMGuest&lt;br /&gt;
Start-VApp&lt;br /&gt;
Start-VM&lt;br /&gt;
Start-VMHost&lt;br /&gt;
Start-VMHostService&lt;br /&gt;
Stop-Task&lt;br /&gt;
Stop-VApp&lt;br /&gt;
Stop-VM&lt;br /&gt;
Stop-VMHost&lt;br /&gt;
Stop-VMHostService&lt;br /&gt;
Suspend-VM&lt;br /&gt;
Suspend-VMGuest&lt;br /&gt;
Suspend-VMHost&lt;br /&gt;
Test-VMHostProfileCompliance&lt;br /&gt;
Test-VMHostSnmp&lt;br /&gt;
Update-Tools&lt;br /&gt;
Wait-Task&lt;br /&gt;
Wait-Tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== .NET ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;VMware vSphere PowerCLI provides a Windows PowerShell interface to the vSphere API. vSphere PowerCLI includes PowerShell Cmdlets (pronounced, “command-lets”) for administering vSphere components. In addition, the vSphere PowerCLI package includes the vSphere SDK for .NET for developers who want to create their own applications.&amp;quot; [http://www.vmware.com/support/developer/PowerCLI/index.html]&lt;br /&gt;
&lt;br /&gt;
vSphere SDK for .NET Developer’s Guide&lt;br /&gt;
http://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/doc/viwin_devg.pdf&lt;br /&gt;
&lt;br /&gt;
vSphere SDK for .NET Developer’s Guide&lt;br /&gt;
&lt;br /&gt;
See [[VMware .NET SDK]]&lt;br /&gt;
&lt;br /&gt;
== Host Object ==&lt;br /&gt;
&lt;br /&gt;
 $hostobj = Get-VMHost $host&lt;br /&gt;
&lt;br /&gt;
 $hostobj.[tab completion]&lt;br /&gt;
&lt;br /&gt;
Wirey.com » Blog Archive » Patching ESX(i) using PowerCLI - http://wirey.com/2010/03/patching-esxi-using-powercli/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $hostobj | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}&lt;br /&gt;
 #Check current build numbers&lt;br /&gt;
&lt;br /&gt;
  Name                                              $_.Config.Product.Fullname&lt;br /&gt;
 ----                                              --------------------------&lt;br /&gt;
 216.119.199.245                                   VMware ESXi 4.0.0 build-208167&lt;br /&gt;
&lt;br /&gt;
Move vms:&lt;br /&gt;
  $hostobj1 | get-vm | move-vm -destination ($vmhostobj2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Reboot the ESX Server host 1&lt;br /&gt;
$VMhostObj1 | Restart-VMHost -Confirm:$false&lt;br /&gt;
Write-Host &amp;quot;Waiting 2.5 minutes for $host1 to reboot&amp;quot;&lt;br /&gt;
Sleep 150&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##################################################################&lt;br /&gt;
# ROBO Cluster patching script by Rob Upham - r o b @ vmware.com #&lt;br /&gt;
# Script assumes a two-node cluster with vMotion but no DRS      #&lt;br /&gt;
##################################################################&lt;br /&gt;
 &lt;br /&gt;
##########################################&lt;br /&gt;
# Edit these values to suit your cluster #&lt;br /&gt;
# and the patch being applied            #&lt;br /&gt;
##########################################&lt;br /&gt;
 &lt;br /&gt;
$VC = &amp;quot;robo-vc-x64.vmwdemo.com&amp;quot;&lt;br /&gt;
$host1 = &amp;quot;esx-robo-1.vmwdemo.com&amp;quot;&lt;br /&gt;
$host2 = &amp;quot;esx-robo-2.vmwdemo.com&amp;quot;&lt;br /&gt;
$patchpath = &amp;quot;/vmfs/volumes/Template-FC-EMC/Patches/ESXi400-201002001/metadata.zip&amp;quot;&lt;br /&gt;
#Patch bundles should be unzipped, placed on shared VMFS or NFS storage and the metadata.zip file referenced above&lt;br /&gt;
# e.g. $patchpath = &amp;quot;/vmfs/volumes/NFS-Vol1/Patches/ESXi400-200912001/metadata.zip&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
########################&lt;br /&gt;
# Work gets done below #&lt;br /&gt;
########################&lt;br /&gt;
 &lt;br /&gt;
#Connect to vCenter Server&lt;br /&gt;
Write-Host &amp;quot;Connecting to vCenter Server&amp;quot;&lt;br /&gt;
Connect-VIServer -Server $VC&lt;br /&gt;
 &lt;br /&gt;
#Get host objects&lt;br /&gt;
$VMHostObj1 = Get-VMHost $Host1&lt;br /&gt;
$VMHostObj2 = Get-VMHost $Host2&lt;br /&gt;
 &lt;br /&gt;
#Check current build numbers&lt;br /&gt;
Write-Host &amp;quot;Hosts to be patched are:&amp;quot;&lt;br /&gt;
Write-Host &amp;quot;Host1 = $host1&amp;quot;&lt;br /&gt;
$VMHostObj1 | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}&lt;br /&gt;
Write-Host &amp;quot;Host2 = $host2&amp;quot;&lt;br /&gt;
$VMHostObj2 | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}&lt;br /&gt;
 &lt;br /&gt;
#Host 1&lt;br /&gt;
#Move vms to Host 2 and enable maintenance mode&lt;br /&gt;
Write-Host &amp;quot;Moving VMs from $host1 to $host2&amp;quot;&lt;br /&gt;
$VMHostObj1 | get-vm | move-vm -destination ($VMHostObj2)&lt;br /&gt;
 &lt;br /&gt;
Write-Host &amp;quot;$host1 entering maintenance mode&amp;quot;&lt;br /&gt;
$VMHostObj1 | set-vmhost –state maintenance&lt;br /&gt;
 &lt;br /&gt;
#Update host 1&lt;br /&gt;
Write-Host &amp;quot;Patching $host1 with patch $patchpath&amp;quot;&lt;br /&gt;
$VMHostObj1 | Install-VMHostPatch -HostPath $patchpath&lt;br /&gt;
 &lt;br /&gt;
#Reboot the ESX Server host 1&lt;br /&gt;
$VMhostObj1 | Restart-VMHost -Confirm:$false&lt;br /&gt;
Write-Host &amp;quot;Waiting 2.5 minutes for $host1 to reboot&amp;quot;&lt;br /&gt;
Sleep 150&lt;br /&gt;
 &lt;br /&gt;
$VMHostState = (Get-VMHost -Name $host1 -ErrorAction SilentlyContinue).State&lt;br /&gt;
While ($VMHostState -eq &amp;quot;NotResponding&amp;quot;){&lt;br /&gt;
  Write-Host &amp;quot;ESX Server state is&amp;quot; $VMHostState&lt;br /&gt;
  Write-Host &amp;quot;Waiting 20 seconds until ESX Server starts responding&amp;quot;&lt;br /&gt;
  sleep 20&lt;br /&gt;
  $VMHostState = (Get-VMHost -Name $host1).State&lt;br /&gt;
}&lt;br /&gt;
Write-Host &amp;quot;Taking ESX Server host out of Maintenance Mode&amp;quot;&lt;br /&gt;
$VMHostObj1 | set-vmhost –state connected&lt;br /&gt;
Write-Host &amp;quot;Patching $host1 complete&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
#Host 2&lt;br /&gt;
#Move vms to Host 1 and enable maintenance mode&lt;br /&gt;
Write-Host &amp;quot;Moving VMs from $host2 to $host1&amp;quot;&lt;br /&gt;
$VMHostObj2 | get-vm | move-vm -destination ($VMHostObj1)&lt;br /&gt;
 &lt;br /&gt;
Write-Host &amp;quot;$host2 entering maintenance mode&amp;quot;&lt;br /&gt;
$VMHostObj2 | set-vmhost –state maintenance&lt;br /&gt;
 &lt;br /&gt;
#Update host 2&lt;br /&gt;
Write-Host &amp;quot;Patching $host2 with patch $patchpath&amp;quot;&lt;br /&gt;
$VMHostObj2 | Install-VMHostPatch -HostPath $patchpath&lt;br /&gt;
 &lt;br /&gt;
#Reboot the ESX Server host 2&lt;br /&gt;
$VMhostObj2 | Restart-VMHost -Confirm:$false&lt;br /&gt;
Write-Host &amp;quot;Waiting 2.5 minutes for $host2 to reboot&amp;quot;&lt;br /&gt;
Sleep 150&lt;br /&gt;
 &lt;br /&gt;
$VMHostState = (Get-VMHost -Name $host2 -ErrorAction SilentlyContinue).State&lt;br /&gt;
While ($VMHostState -eq &amp;quot;NotResponding&amp;quot;){&lt;br /&gt;
  Write-Host &amp;quot;ESX Server state is&amp;quot; $VMHostState&lt;br /&gt;
  Write-Host &amp;quot;Waiting 20 seconds until ESX Server starts responding&amp;quot;&lt;br /&gt;
  sleep 20&lt;br /&gt;
  $VMHostState = (Get-VMHost -Name $host2).State&lt;br /&gt;
}&lt;br /&gt;
Write-Host &amp;quot;Taking ESX Server host out of Maintenance Mode&amp;quot;&lt;br /&gt;
$VMHostObj2 | set-vmhost –state connected&lt;br /&gt;
Write-Host &amp;quot;Patching $host2 complete&amp;quot;&lt;br /&gt;
Write-Host &amp;quot;Build numbers are now as follows:&amp;quot;&lt;br /&gt;
$VMHostObj1 | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}&lt;br /&gt;
$VMHostObj2 | get-view -Property Name,Config.Product | select Name,{$_.Config.Product.Fullname}&lt;br /&gt;
Write-Host &amp;quot;All patching complete&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== vCenter Update Manager PowerCLI ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# vCenter Update Manager PowerCLI&lt;br /&gt;
# http://communities.vmware.com/community/vmtn/server/vsphere/automationtools/powercli/updatemanager&lt;br /&gt;
&lt;br /&gt;
# VMware vSphere Update Manager PowerCLI Documentation&lt;br /&gt;
# http://www.vmware.com/support/developer/ps-libs/vumps/&lt;br /&gt;
&lt;br /&gt;
# VMware vSphere Update Manager PowerCLI Installation and Administration Guide Update Manager PowerCLI 5.1&lt;br /&gt;
# http://pubs.vmware.com/vsphere-51/topic/com.vmware.ICbase/PDF/vsphere-update-manager-powercli-51-inst-admg.pdf&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Import patches, the hard way:&lt;br /&gt;
&lt;br /&gt;
# VMware Communities: Import host patches into Update Manager&lt;br /&gt;
# http://communities.vmware.com/docs/DOC-15885&lt;br /&gt;
&lt;br /&gt;
# VMware Communities: Import host upgrade into Update Manager&lt;br /&gt;
# http://communities.vmware.com/docs/DOC-15886&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
$vi_server = connect-viserver -server vum.oeey.com -user root -password Password1&lt;br /&gt;
&lt;br /&gt;
$esx_hosts = $vi_inventory | where-object {$_.name.startswith(&amp;#039;vum-esx&amp;#039;)}&lt;br /&gt;
$esx_hosts = Get-VMHost&lt;br /&gt;
$scan_result = $esx_hosts | scan-inventory&lt;br /&gt;
# returns false if one of the entities did not scan correctly&lt;br /&gt;
&lt;br /&gt;
$baselines = get-baseline | where-object {$_.name -eq &amp;#039;fusionio&amp;#039;}&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# connect to vcenter server&lt;br /&gt;
$vi_server&lt;br /&gt;
while ($true) {&lt;br /&gt;
  $vi_server = connect-viserver -server vum.oeey.com -user root -password Password1&lt;br /&gt;
  if ($? -eq $true) { break }&lt;br /&gt;
  echo &amp;quot;.&amp;quot;&lt;br /&gt;
  sleep 10&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# get hosts&lt;br /&gt;
$esx_hosts = Get-VMHost&lt;br /&gt;
&lt;br /&gt;
# verify scan&lt;br /&gt;
foreach ($esx in $esx_hosts) {&lt;br /&gt;
  $esx | Scan-Inventory&lt;br /&gt;
  if ($? -ne $true) {&lt;br /&gt;
    # restart esx host&lt;br /&gt;
    $esx | restart-vmhost -confirm:$false -force&lt;br /&gt;
    sleep 30&lt;br /&gt;
    while ($true) {&lt;br /&gt;
      sleep 10&lt;br /&gt;
      echo &amp;quot;retrying...&amp;quot;&lt;br /&gt;
      $esx | Scan-Inventory&lt;br /&gt;
      if ($? -eq $true) { break }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- esx server management ---&lt;br /&gt;
&lt;br /&gt;
# restart esx host&lt;br /&gt;
$esx_host | restart-vmhost -confirm:$false -force&lt;br /&gt;
&lt;br /&gt;
# get host states (should be: HOSTNAME, Connected, Connected)&lt;br /&gt;
Get-VMHost | Select Name, State, ConnectionState&lt;br /&gt;
&lt;br /&gt;
# get esx host IP:  # note: Get-View gets all columns&lt;br /&gt;
Get-VMHost | Get-View | Select {$_.Summary.ManagementServerIP }&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# target entity - in this case a folder&lt;br /&gt;
$TARGET = &amp;quot;ESX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# download patches from repo&lt;br /&gt;
$patches = Download-Patch&lt;br /&gt;
if ( $? -ne $true ) { echo &amp;quot;No Patches Failure&amp;quot; ; exit 1 }&lt;br /&gt;
if ($patches.count &amp;gt; 0) { echo &amp;quot;Patches found&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
# get patches - from patch list&lt;br /&gt;
$extentions = Get-Patch -BundleType Extension&lt;br /&gt;
if ( $? -ne $true ) { echo &amp;quot;Extension Failure&amp;quot; ; exit 1 }&lt;br /&gt;
&lt;br /&gt;
# create baseline from patches&lt;br /&gt;
$baseline = New-PatchBaseline -Static -Name &amp;quot;fusionio&amp;quot; -Extension -IncludePatch $extentions&lt;br /&gt;
if ( $? -ne $true ) { echo &amp;quot;Baseline Failure&amp;quot; ; exit 1 }&lt;br /&gt;
&lt;br /&gt;
# attach baseline&lt;br /&gt;
Attach-Baseline -Baseline $baseline -Entity $TARGET&lt;br /&gt;
if ( $? -ne $true ) { echo &amp;quot;Attach Failure&amp;quot; ; exit 1 }&lt;br /&gt;
&lt;br /&gt;
# scan servers&lt;br /&gt;
Scan-Inventory -Entity $TARGET&lt;br /&gt;
if ( $? -ne $true ) { echo &amp;quot;Scan Failure&amp;quot; ; exit 1 }&lt;br /&gt;
&lt;br /&gt;
# get compliance&lt;br /&gt;
$compliance = Get-Compliance -Entity $TARGET -ComplianceStatus Unknown&lt;br /&gt;
if ( $? -ne $true ) { echo &amp;quot;Compliance Failure&amp;quot; ; exit 1 }&lt;br /&gt;
if ($compliance.count -gt 0) { echo &amp;quot;Compliance Count Failure&amp;quot; ; exit 1 }&lt;br /&gt;
&lt;br /&gt;
# get all baselines for target, maybe more than one&lt;br /&gt;
$baselines = Get-Baseline -Entity $TARGET&lt;br /&gt;
if ( $? -ne $true ) { echo &amp;quot;Baseline Get Failure&amp;quot; ; exit 1 }&lt;br /&gt;
&lt;br /&gt;
# remediate hosts&lt;br /&gt;
Remediate-Inventory -Entity $TARGET -Baseline $baselines&lt;br /&gt;
if ( $? -ne $true ) { echo &amp;quot;Remediate Failure&amp;quot; ; exit 1 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample Scripts ==&lt;br /&gt;
&lt;br /&gt;
=== APPLE-1078 - Building Custom Image ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Add-EsxSoftwareDepot -DepotUrl http://yum-repo.geo.apple.com/vmw/VMware-ESXi-5.1.0-799733-depot&lt;br /&gt;
Add-EsxSoftwareDepot -DepotUrl http://vibsdepot.hp.com/hpq/sep2012/index.xml&lt;br /&gt;
Add-EsxSoftwareDepot -DepotUrl http://yum-repo.geo.apple.com/vmw/MLNX-OFED-ESX-1.8.0.1&lt;br /&gt;
Add-EsxSoftwareDepot -DepotUrl http://yum-repo.geo.apple.com/vmw/iomemory-vsl-5X-3.1.5.126-offline_bundle-750032&lt;br /&gt;
Add-EsxSoftwareDepot -DepotUrl http://yum-repo.geo.apple.com/vmw/Fusion-IO_libvsl-offline-bundle-3.1.5&lt;br /&gt;
Add-EsxSoftwareDepot -DepotUrl http://yum-repo.geo.apple.com/vmw/fusionio-cimprovider-esxi5-bundle-3.1.20-119&lt;br /&gt;
$op = (Get-EsxImageProfile -Name &amp;quot;ESXi*-standard&amp;quot;).Name&lt;br /&gt;
echo &amp;quot;Using base image profile: $op&amp;quot;&lt;br /&gt;
$pkgs = Get-EsxSoftwarePackage -Newest&lt;br /&gt;
$np = New-EsxImageProfile -CloneProfile &amp;quot;$op&amp;quot; -Name &amp;quot;Geo_1_ESXi51_vmw-799733&amp;quot; -Vendor &amp;quot;GeoOps&amp;quot; -SoftwarePackage $pkgs&lt;br /&gt;
Export-EsxImageProfile -ImageProfile ($np).Name -ExportToBundle -NoSignatureCheck -FilePath c:\img\Geo_1_ESXi51_vmw-799733.zip&lt;br /&gt;
Export-EsxImageProfile -ImageProfile ($np).Name -ExportToIso -NoSignatureCheck -FilePath c:\img\Geo_1_ESXi51_vmw-799733.iso&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
&lt;br /&gt;
=== PowerShell 1.0 is not supported ===&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
 WARNING: You are running PowerShell version 1.0. PowerShell 1.0 is not be&lt;br /&gt;
 supported by vSphere PowerCLI. Please update you PowerShell to version 2.0&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* VMware PowerCLI requires [http://support.microsoft.com/kb/968929 Windows PowerShell 2.0].&lt;br /&gt;
&lt;br /&gt;
=== The term not recognized as a cmdlet ===&lt;br /&gt;
&lt;br /&gt;
Trying to run the PowerCLI commands from a PowerShell window causes this error:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PS C:\Documents and Settings\kenneth&amp;gt; add-esxsoftwaredepot&lt;br /&gt;
The term &amp;#039;add-esxsoftwaredepot&amp;#039; is not recognized as a cmdlet, function, operable program, or script file. Verify the t&lt;br /&gt;
erm and try again.&lt;br /&gt;
At line:1 char:20&lt;br /&gt;
+ add-esxsoftwaredepot &amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cause:&lt;br /&gt;
* Do you have PowerCLI running and are you running from the PowerCLI shell?&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Install PowerCLI&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Cause:&lt;br /&gt;
* Running from PowerShell window&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Need to initialize the PowerCLI environment&lt;br /&gt;
&lt;br /&gt;
 . &amp;quot;C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Execution is disabled ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
File C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Init&lt;br /&gt;
ialize-PowerCLIEnvironment.ps1 cannot be loaded because the execution of script&lt;br /&gt;
s is disabled on this system. Please see &amp;quot;get-help about_signing&amp;quot; for more deta&lt;br /&gt;
ils.&lt;br /&gt;
At line:1 char:2&lt;br /&gt;
+ . &amp;lt;&amp;lt;&amp;lt;&amp;lt;  &amp;quot;C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Script&lt;br /&gt;
s\Initialize-PowerCLIEnvironment.ps1&amp;quot;&lt;br /&gt;
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException&lt;br /&gt;
    + FullyQualifiedErrorId : RuntimeException&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cause:&lt;br /&gt;
* When you first installed PowerCLI, it told you:&lt;br /&gt;
:&amp;quot;The PowerShell execution policy of this computer is not set to &amp;quot;RemoteSigned&amp;quot;.  This prevents execution of PowerShell scripts on your computer and will result in erros when VMware vSphere PowerCLI is invoked.  It is recommended that you set the execution policy to &amp;quot;RemoteSigned&amp;quot; in order to be able to execute scripts.  This can be done by invoking the command &amp;#039;Set-ExecutionPolicy RemoteSigned&amp;#039; from a PowerShell prompt. - Do this for me&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Click the &amp;#039;Do this for me&amp;#039; when you installed PowerCLI.&lt;br /&gt;
* Set execution policy with &amp;#039;Set-ExecutionPolicy RemoteSigned&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See current policy:&lt;br /&gt;
 get-executionpolicy&lt;br /&gt;
&lt;br /&gt;
Set RemoteSigned execution policy:&lt;br /&gt;
 Set-ExecutionPolicy RemoteSigned&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
An overview of the policy levels:&lt;br /&gt;
&lt;br /&gt;
;Restricted: Individual cmdlets can run, but not saved Powershell scripts. This is the default setting.&lt;br /&gt;
;AllSigned: Scripts can run, but must have a digital signature even if written on the local computer. Prompts you before running scripts from trusted publishers.&lt;br /&gt;
;RemoteSigned: Scripts written on the local computer do not need a digital signature, but any script downloaded from outside (email, IM, Internet) must have a signature to execute. &lt;br /&gt;
;Unrestricted: Any script can run, but scripts downloaded from outside will run with a warning.&lt;br /&gt;
&lt;br /&gt;
To change the Execution Policy to Unrestricted, type the following command in Powershell&lt;br /&gt;
    Set-ExecutionPolicy Unrestricted&lt;br /&gt;
&lt;br /&gt;
To change the Execution Policy to RemoteSigned (to run your own scripts), type the following command in Powershell (preferred)&lt;br /&gt;
    Set-ExecutionPolicy RemoteSigned&lt;br /&gt;
&lt;br /&gt;
Source: [http://www.itexperience.net/2008/07/18/file-cannot-be-loaded-because-the-execution-of-scripts-is-disabled-on-this-system-error-in-powershell/ File cannot be loaded because the execution of scripts is disabled on this system error in PowerShell]&lt;br /&gt;
&lt;br /&gt;
=== fault.RestrictedVersion.summary ===&lt;br /&gt;
&lt;br /&gt;
fault.RestrictedVersion.summary with ESXi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Stop-VM : 3/8/2011 12:57:40 PM    Stop-VM        fault.RestrictedVersion.summary&lt;br /&gt;
At line:1 char:8&lt;br /&gt;
+ stop-vm &amp;lt;&amp;lt;&amp;lt;&amp;lt;  -vm win245&lt;br /&gt;
    + CategoryInfo          : NotSpecified: (:) [Stop-VM], SecurityError&lt;br /&gt;
    + FullyQualifiedErrorId : Client20_MoServiceImpl_Invoke_ViError,VMware.VimAutomation.ViCore.Cm&lt;br /&gt;
   dlets.Commands.StopVM&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* ESXi is not licensed to use remote features.&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;There are two basic versions of ESXi &amp;quot;free&amp;quot; and &amp;quot;licensed&amp;quot;, the scripting toolkits are limited to read-only access for the free version of VMware ESXi. When the host is upgraded to vSphere Essentials, vSphere Essential Plus, vSphere Standard, vSphere Advanced, vSphere Enterprise, or vSphere Enterprise Plus these toolkits have write-access enabled and provide a scriptable method for managing ESXi hosts.&amp;quot; [http://www.virtu-al.net/2010/01/15/powercli-scripting-esxi/]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;br /&gt;
&lt;br /&gt;
[[Category:VMware]]&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>